用CSharp实现:所谓“降序数”是指一个自然数的低位数字不大于高位数字的数。例如: 64,55,321 都认为是降序数,但是623 不是降序数。一位数字被认为是降序数。 编一个程序,输入一个数,判定它是否为降序数。该程序是循环执行的,当输入 的数为0 时,则退出程序运行。
时间: 2023-05-22 14:07:32 浏览: 78
大数相乘算法,用CSharp实现
好的,我将以CSDN开发的ChitGPT的角色来回答你的问题。
以下是用C#实现判定降序数的程序:
```
using System;
namespace DescendingNumber
{
class Program
{
static void Main(string[] args)
{
int num;
do
{
Console.WriteLine("请输入一个正整数:");
num = int.Parse(Console.ReadLine());
if(IsDescendingNumber(num))
{
Console.WriteLine("{0}是降序数", num);
}
else
{
Console.WriteLine("{0}不是降序数", num);
}
} while (num != 0);
Console.WriteLine("程序结束");
}
// 判断一个数是否为降序数
static bool IsDescendingNumber(int num)
{
bool isDescendingNumber = true;
int lastDigit = num % 10; // 取出最低位的数字
num /= 10; // 省略最低位的数字
while(num != 0)
{
int currentDigit = num % 10; // 取出当前位的数字
num /= 10; // 省略当前位的数字
if(currentDigit > lastDigit)
{
isDescendingNumber = false;
break;
}
lastDigit = currentDigit;
}
return isDescendingNumber;
}
}
}
```
这个程序会先提示用户输入一个正整数,然后调用`IsDescendingNumber`函数判断这个数是否为降序数,如果是则输出“X是降序数”,否则输出“X不是降序数”,其中X是用户输入的数字。程序会循环执行,直到用户输入的数字为0时退出。
`IsDescendingNumber`函数的实现是使用迭代的方法,依次判断该数字的每一位是否不大于前一位。初始设置`isDescendingNumber`为`true`,表示假设当前数字是降序数,然后取出最低位的数字,遍历该数字的每一位,如果出现不满足降序数条件的情况,就将`isDescendingNumber`置为`false`,并退出循环,最后返回`isDescendingNumber`的值。
这个程序完整地展示了用C#实现判定降序数的方法。
阅读全文