C语言先定义一个函数,判断整数从低位到高位是否依次递减,返回值为1或0。例如,12345符合递减要求,返回1;而12233不符合要求,返回0。 本题目要求调用该函数,完成以下功能:读入1个整数A,如果A符合递减,直接输出它自己;否则输出比A大的第一个符合要求的数。 例如,输入12345, 输出12345; 例如,输入9,只有一个数,也是符合要求的,输出9。 输入12253,比该数大且符合低位到高位数字递减的第一个正整数是12345,故输出12345。
时间: 2023-06-17 18:06:01 浏览: 88
C语言--写一个函数,判断一个整数是否为回文数,是返回1,不是返回0(如果一个整数,从左右来读都一样,就称它为回文数
以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
int isDecreasing(int n) {
int prev = n % 10;
n /= 10;
while (n > 0) {
int curr = n % 10;
if (curr >= prev) {
return 0;
}
prev = curr;
n /= 10;
}
return 1;
}
int main() {
int A;
scanf("%d", &A);
if (isDecreasing(A)) {
printf("%d\n", A);
} else {
int i = A + 1;
while (!isDecreasing(i)) {
i++;
}
printf("%d\n", i);
}
return 0;
}
```
首先定义了一个 `isDecreasing` 函数,用于判断一个整数是否符合从低位到高位递减的要求。函数中先取出最后一位数字,然后从倒数第二位开始往前依次取出数字,如果有任意一位数字大于等于它后面的数字,则返回 0,否则返回 1。
主函数中先读入一个整数 A,然后判断它是否符合递减要求。如果符合要求,直接输出 A;否则从 A+1 开始往上枚举整数,找到第一个符合要求的整数,输出它即可。
阅读全文