输入一批正整数(以零或负数为结束标志),判断每个数从高位到低位的各位数字是否按值从小到大排列。要求定义和调用函数fun(m)判断m中各位数字是否按值从小到大排列,满足条件返回1,否则返回0。 #include <stdio.h> int fun (int m); int main (void) { int n; scanf ("%d", &n); while (n > 0) { if ( ) { 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 = ; } return 1; }
时间: 2024-02-14 14:12:13 浏览: 18
下面是可以实现的代码:
```c
#include <stdio.h>
int fun(int m);
int main(void) {
int n;
scanf("%d", &n);
while (n > 0) {
if (fun(n)) {
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;
m /= 10;
}
return 1;
}
```
在 `fun` 函数中,我们使用一个变量 `old_digit` 来记录上一个数字的值。每次取出当前数字 `cur_digit`,如果 `cur_digit` 大于等于 `old_digit`,说明这个数字不是按值从小到大排列的,返回0;否则将 `cur_digit` 赋值给 `old_digit`,继续检查下一个数字。当所有数字都检查完后,返回1。在主函数中,我们循环读入输入的数字 `n`,并依次调用 `fun` 函数检查其是否按值从小到大排列。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)