C语言判断一个正整数是否为降序数

作者在 2011-10-24 10:10:17 发布以下内容
  所谓降序数,就是诸如9652、321、8531的数,它们的特点是各个位上的数按从左到右递减排列。
下面的小程序即用于判断一个整数(题中假设是正数)是否为降序数:
 
#include<stdio.h>
#include<stdlib.h>
int main()
{

             int m[100], n, i, j;
             puts("请输入一个正整数:");

             scanf("%d",&n);//为便于分析,假设n=321

             for (i=0; n!=0 ; i++)

              {

                  m[i] = n%10;   //几次循环下来,赋值结果为:

                  n=n/10;  //i=0 m[0]=1 n=32; i=1 m[1]=2 n=3; i=2 m[2]=3 n=0---->i=3时循环结束

              }


             for (j=0; (j<i-1 )&& (m[j]<m[j+1]); j++) ; //m[j]<m[j+1]是依次从低位到次低位的比较

             if (j==i-1)
                 puts("是降序数!");

             else
                 puts("不是降序数!");

             system("pause");
             return 0;
}
  
  如果像此类333,332,322的数也属降序数,把最后一个for循环中的  m[j]<m[j+1] 改为m[j]<=m[j+1]
即可。
Cyuyan | 阅读 7992 次
文章评论,共1条
损圈视斯(游客)
2018-11-10 20:11
1
游客请输入验证码
浏览68486次
最新评论