所谓“降序数”是指一个自然数的低位数字不大于高位数字的数。例如:64,55,321 都认为是降序数,但是623 不是降序数。一位数字被认为是降序数。编一个程序,输入一个数,判定它是否为降序数。该程序是循环执行的,当输入的数为0 时,则退出程序运行。以C++为例
时间: 2023-05-25 08:05:28 浏览: 83
C语言程序设计-求一个n位自然数的各位数字的积;(n 是小于10的自然数).c
5星 · 资源好评率100%
,代码如下:
```c
#include <stdio.h>
int isDecreasing(int n)
{
if (n < 10) // 如果只有一位数,则认为是降序数
{
return 1;
}
int lastDigit = n % 10;
n /= 10;
while (n > 0)
{
int digit = n % 10;
if (digit <= lastDigit) // 如果低位数字不大于高位数字,则继续往前判断
{
lastDigit = digit;
n /= 10;
}
else // 否则直接返回不是降序数
{
return 0;
}
}
return 1;
}
int main()
{
int num;
do
{
printf("请输入一个正整数:");
scanf("%d", &num);
if (isDecreasing(num))
{
printf("%d 是降序数。\n", num);
}
else
{
printf("%d 不是降序数。\n", num);
}
} while (num != 0);
return 0;
}
```
程序首先定义了一个函数isDecreasing,用于判断一个数是否为降序数。如果n只有一位数,那么它自然是降序数;否则,从个位数开始往高位数判断,如果低位数字不大于高位数字,则继续往前判断,否则直接返回不是降序数。
然后在main函数中,程序循环执行,每次输入一个数,判断是否为降序数。如果是,则输出相应的提示信息,否则输出不是降序数的提示信息。当输入的数为0时,程序退出。
例如,输入64,则输出“64 是降序数。”;输入623,则输出“623 不是降序数。”。
阅读全文