| 
 
TA的每日心情|  | 开心 2014-6-18 08:29
 | 
|---|
 签到天数: 14 天 [LV.3]偶尔看看II 滴水大师  
 
 
	积分2345 
 | 
 
| 题目 
  
 解决代码及点评
 
 
 
 
 <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre class="cpp" name="code" code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179"><pre class="cpp" name="code" code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131209_3_3875542" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131209_3_3875542" class="cpp" name="code">/* 功能:自然数N一般写成如下形式: N=d[k]d[k-1]d[1]    (d[1]~d[k] 均是十进制数字)       如果d[i+1]>d (i=k-1,k-2,...,1),则称N是严格降序数;如果d[i+1]<d (i=k-1,k-2,...,1),       则称N是严格升序数;如果d[i+1]=d (i=k-1,k-2,...,1),则称N是等序数;此外,则称N是无序数。       例如, 4321是严格降序数,1234是严格升序数,2222是等序数,1243是无序数。从键盘上输入一个大于9的整数N,判它属于上述哪一类。    时间:0:20 2013/10/26 */    #include<stdio.h>  #include<stdlib.h>    int getBit51(int);      //判断一个数的位数  int judgIt(int a[],int n)  {                               //a[]中的数为原数的逆序      int upNum=1;                      for(int i=0;i<n-1;i++)       //a[]如果为升序,则原数逆序      {          if(a<=a[i+1])upNum=0;      }      int downNum=1;              //如果a为降序,则原数升序      for (int i=0;i<n-1;i++)      {          if(a>=a[i+1])downNum=0;      }      if(upNum==1)          return 1;                 else if(downNum==1)          return 2;      else return 3;  }  void main()  {      int num;      scanf_s("%d",&num);        if (num<9)           //判断num是否〉9      {          puts("Cannot judges it!");      }       else      {          int bit=getBit51(num);      //获得位数          int a[10]={-1};                       int t=num;                  //创建数组          for (int i=0;i<bit;i++)      //将num每一位数逆序输入a[n]中。以-1结束          {              a=t%10;              t/=10;          }            int flag=judgIt(a,bit);     //1为降序数,2为升序数,3为其他          switch(flag)          {          case 1:               printf("The number in ascending order");              break;          case 2:               printf("The number in descending order");              break;          default:              printf("This is a disorders number!");              break;          }      }      system("pause");  }    int getBit51(int n)  {      int bit=0;      while (n>0)      {          bit++;          n/=10;      }      return bit;  }</pre><br><br><br></pre></pre></pre>  
 
 
 | 
 |