基于visual Studio2013解决C语言竞赛题之1051数的顺序
题目
解决代码及点评
/*
功能:自然数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数的顺序的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数
题目 解决代码及点评 /************************************************************************/ /* ...
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...
- 基于visual Studio2013解决C语言竞赛题之0205位数求和
题目
- 基于visual Studio2013解决C语言竞赛题之0201温度转换
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...
- 基于visual Studio2013解决C语言竞赛题之0409 100以内素数
题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...
- 基于visual Studio2013解决C语言竞赛题之0408素数
题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...
- 基于visual Studio2013解决C语言竞赛题之0407最大值最小值
题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...
- 基于visual Studio2013解决C语言竞赛题之0406数列求和
题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...
- 基于visual Studio2013解决C语言竞赛题之0405阶乘求和
题目 解决代码及点评 这道题和上一道题类似,第n个累加项 = n-1累加项的n倍 由于有这个规律,我们可以用一个for循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更 ...
随机推荐
- BCB6.0是垃圾的二十条理由
我用的BCB6.0和windows2000 都是公司配的正版,我也有多年的开发经验. 1. IDE常常出现非法操作,有时重起动还会出错,须要重装BCB. 2. 自己主动完毕和智能提示功能超慢,慢到能够 ...
- ceph源码之一
转自于:http://blog.csdn.net/changtao381/article/details/8698935 一.概述: 其结构如下:在src 里, 网络通信: msg 里面 包括了网 ...
- C#学习之在辅助线程中修改UI控件----invoke方法
Invoke and BeginInvoke 转载地址:http://www.cnblogs.com/worldreason/archive/2008/06/09/1216127.html 在Invo ...
- Javascript 运动基础 01
JS运动基础 运动基础 让Div运动起来 速度——物体运动的快慢 运动中的Bug 不会停止 速度取某些值会无法停止 到达位置后再点击还会运动 重复点击速度加快 匀速运动 速度不变 <s ...
- tar 基础
如何安装---> 出门右转百度. 1.基本使用方式 tar [option] desc_file source_file desc_file 表示要生成的打包文件:source_file 表示需 ...
- ubuntu12.04中如何设定中文输入法
安装 ibus 终端输入:sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 启动 ibus 终端输入 : im-s ...
- 基于visual Studio2013解决算法导论之048红黑树
题目 红黑树 解决代码及点评 // 红黑树.cpp : 定义控制台应用程序的入口点. // #include <stdio.h> #include <stdlib.h> ...
- 基于visual Studio2013解决C语言竞赛题之0411公约数和公倍数
题目 解决代码及点评 求最大公约数和最小公倍数,方法已经在题目中有提示,分析代码实现如下: /* 题目: 输入两个正整数 m和 n,求其最大公约数和最小公倍数. */ #includ ...
- UVA 10041 (13.08.25)
Problem C: Vito's family Background The world-known gangster Vito Deadstone is moving to New York. ...
- 正态分布(Normal distribution)又名高斯分布(Gaussian distribution)
正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及project等领域都很重要的概率分布,在统计学的很多方面有着重大的影 ...