程序填空题:判断正整数的各位数字是否按从小到大排列
输入一批正整数(以零或负数为结束标志),判断每个数从高位到低位的各位数字是否按值从小到大排列。要求定义和调用函数fun(m)判断m中各位数字是否按值从小到大排列,满足条件返回1,否则返回0。
```c++
#include
int fun (int m);
int main (void)
{
int n;
scanf ("%d", &n);
while (n > 0) {
if (@@[fun(n) != 0](1)) {
printf("yes\n");
}else{
printf("No\n");
}
scanf("%d", &n);
}
return 0;
}
int fun (int m)
{
int cur_digit, old_digit = 10;
while(m > 0){
cur_digit = m % 10;
if( cur_digit >= old_digit){
return 0;
}
old_digit = @@[cur_digit](1);
@@[m = m /10;](1)
}
return 1;
}
```
答案:
第1空:fun(n) != 0
第2空:cur_digit
第3空:m = m /10;
```c++
#include
int fun (int m);
int main (void)
{
int n;
scanf ("%d", &n);
while (n > 0) {
if (@@[fun(n) != 0](1)) {
printf("yes\n");
}else{
printf("No\n");
}
scanf("%d", &n);
}
return 0;
}
int fun (int m)
{
int cur_digit, old_digit = 10;
while(m > 0){
cur_digit = m % 10;
if( cur_digit >= old_digit){
return 0;
}
old_digit = @@[cur_digit](1);
@@[m = m /10;](1)
}
return 1;
}
```
答案:
第1空:fun(n) != 0
第2空:cur_digit
第3空:m = m /10;