题目

解决代码及点评




/*
功能:自然数N一般写成如下形式: N=d[k]d[k-1]d[1] (d[1]~d[k] 均是十进制数字)
如果d[i+1]>d[i] (i=k-1,k-2,...,1),则称N是严格降序数;如果d[i+1]<d[i] (i=k-1,k-2,...,1),
则称N是严格升序数;如果d[i+1]=d[i] (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[i]<=a[i+1])upNum=0;
}
int downNum=1; //如果a为降序,则原数升序
for (int i=0;i<n-1;i++)
{
if(a[i]>=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[i]=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;
}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






基于visual Studio2013解决C语言竞赛题之1051数的顺序的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数

        题目 解决代码及点评 /************************************************************************/ /* ...

  2. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

  3. 基于visual Studio2013解决C语言竞赛题之0205位数求和

     题目

  4. 基于visual Studio2013解决C语言竞赛题之0201温度转换

    题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...

  5. 基于visual Studio2013解决C语言竞赛题之0409 100以内素数

       题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...

  6. 基于visual Studio2013解决C语言竞赛题之0408素数

      题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...

  7. 基于visual Studio2013解决C语言竞赛题之0407最大值最小值

      题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...

  8. 基于visual Studio2013解决C语言竞赛题之0406数列求和

      题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...

  9. 基于visual Studio2013解决C语言竞赛题之0405阶乘求和

      题目 解决代码及点评 这道题和上一道题类似,第n个累加项 = n-1累加项的n倍 由于有这个规律,我们可以用一个for循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更 ...

随机推荐

  1. SQL查询各阶段的统计信息

            我们经常会遇到各种分类统计问题,须要将这些结果一次显示出来.这次老师提出的要求是我想看60分下面多少人.60~70多少人,70~80多少人.80~90多少人,90~100多少人.他们曾 ...

  2. Jquery Ajax时 error处理 之 parsererror

    Jquery Ajax时 error处理 之 parsererror     01 $.ajax({ 02         type: "POST", 03         con ...

  3. Eucalyptus和Openstack最近版本的改动简单对比

    Eucalyptus3.3四月底发布的,Q4会发布3.4,最新代码都可以在Github上获得 3.3里主要加入的东西有: Auto Scaling 自动扩展,虚拟机资源随需要实时变更 ELB 负载均衡 ...

  4. 二分法查找的C语言实现:

    #include <stdio.h> int binSearch(int, int, int); main() { int i, n = 10, x = 7; //这里假设把数组a[]定义 ...

  5. for语句之侦查队挑选人、猴子吃桃、5个小朋友算年龄、1 () 2 () 3 ()4 = 4;问括号里我要填 (- 或 +)问题

    1.某侦察队接到一项紧急任务,要求在A.B.C.D.E.F六个队员中尽可能多地挑若干人,但有以下限制条件:侦察兵A和B两人中至少去一人: a+b>=1(由于每个队员有两种状态:去与不去,假设不去 ...

  6. Android面试题整理(1)

    1.Activity的生命周期      onCreate(Bundle saveInstanceState):创建activity时调用.      onStart():activity可见时调用 ...

  7. pkg_utility

    创建包名: CREATE OR REPLACE PACKAGE BODY PKG_UTILITY AS --字符串转换到索引表 PROCEDURE STR_TO_LIST(PI_STR IN VARC ...

  8. ASP.NET MVC 5 学习教程:添加视图

    原文 ASP.NET MVC 5 学习教程:添加视图 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...

  9. 基于visual Studio2013解决C语言竞赛题之0517矩阵

     题目

  10. android项目中刷新activity界面

    android项目中在sqlite数据库插入/更新/删除数据后: 1. 刷新当前activity界面数据(手动刷新): 在activity类下新增一个refresh()方法: /** * 刷新, 这样 ...