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>
|
|