输入一批正整数(以零或负数为结束标志),判断每个数从高位到低位的各位数字是否按值从小到大排列。要求定义和调用函数fun(m)判断m中各位数字是否按值从小到大排列,满足条件返回1,否则返回0。
#includeint fun(int n) { int old_digit = 10; int cur_digit; while(n > 0) { cur_digit = n % 10; if(cur_digit > old_digit)//这个判断条件是给第二轮循环看的,第一轮循环只看其他语句,相当于一个对第一轮没有影响的但是之后需要的判断条件 return 0; old_digit = cur_digit;//第一轮循环是一个准备工作,好像是可以拿到循环外边做的,但是实际做了发现并不好,因为这个语句确实是需要循环来提供下一步的依托的 //如果非要提到外边会造成语句的赘余 n /= 10; } return 1; } int main() { int n; scanf("%d",&n); while(n>0) { if(fun(n)) printf("yes"); else printf("no"); scanf("%d",&n); } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)