如何用C语言判断一个数是不是为递增数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C语言判断一个数是不是为递增数相关的知识,希望对你有一定的参考价值。

任意输入一个正整数,输出这个数是不是递增数。递增数的定义为:对于n=d1d2d3…dk,满足di<=di+1(1<=i<=k-1)

编程思想。1.根据定义,递增数就是低位数字大于等于高位数字。2.一个整数可以通过模十取余得到个位数字,通过除十取整得到去掉个位数的整数。3.比较个位跟十位数字,如果个位小于十位,就不是递增数。如果个位大于十位,是递增数。 参考技术A int main()

char num = '\\0';
int count = 0;
int buff[50] = 0;
while (scanf("%c", &num) && num!='\\n')

buff[count] = num - '0';
if (count == 0)

++count;
continue;

if (buff[count] < buff[count - 1])

printf("不是递增数");
return -1;

++count;

printf("是递增数");
  return 0;

其实...简单判断一下就行了...昨天我是刚好练习写了一下排序算法

就想着直接用了  但是没必要

参考技术B int main()

/*  //字符数组方法 
char ch[20];
scanf("%s",ch);
int i,n=ch[0],yes=1;
for(i=1;ch[i]!='\\0';i++)

if(ch[i]-1==n)

n++;

else

yes=0;
break;


if(yes==1) printf("yes");
else printf("no");*/

//数字分解方法 
int n,s;
scanf("%d",&n);
s=n%10;
n/=10;
while(n>0)

if(n%10==s-1)

s=n%10;
n/=10;

else

printf("no");
return 0;


printf("yes");
return 0;

本回答被提问者采纳
参考技术C 如果你的输入是一个long或int,依次对10取模,得到的结果存在临时变量tmp中,然后与之前的变量比较大小,如果大就继续取模,否则直接跳出.
如果你的输入是一个字符串,就从前到后依次比较字符的ascii码大小,如果后一个比前一个大就继续,否则就跳出
参考技术D #include <stdio.h>
#include <string.h>
#define MAXLEN 256
int func(const char* str)
    for(int i = 1;i < strlen(str);i++)
        if(str[i-1] > str[i])
            return 0;
    return 1;

int main(int argc, char** argv)
    char s_num[MAXLEN];
    scanf("%s", s_num);
    printf("%s\\n", func(s_num)?"Yes":"No");
    return 0;

以上是关于如何用C语言判断一个数是不是为递增数的主要内容,如果未能解决你的问题,请参考以下文章

如何用c语言编程判断一个数是否素数?

如何用c语言编程,判断一个三位数是不是为顺子(不是顺子直接提示出错)?

如何用C语言,判断一个数是不是在数组中,是则显示其位子,不是则显示"没找到".

c语言如何判断奇偶数?

C语言:判断一个数是不是为回文数,要求如下:

如何用编程 任意输入3个数判断能否构成三角形?