如何用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语言编程,判断一个三位数是不是为顺子(不是顺子直接提示出错)?