100个经典C语言编程例子(答案另附)
1:计算 A+B 的问题
时间限制:1000MS 内存限制:10000K
总提交数:1347 正确数:655
问题描述
输入两个整数 a 和 b ,计算 a+b 的结果并输出。
输入
两个整数
输出
一个整数
输入样例
1 2
输出样例
3
2:Hello World!
时间限制:1000MS 内存限制:65536K
总提交数:848 正确数:693
问题描述编写第一个C语言程序。在屏幕上输出:Hello World!
输入
程序没有输入
输出
Hello World!
输入样例
输出样例
Hello World!
提示
1、输出的内容要与题目的要求完全一样,不能多字符也不能少字符。3:两个整数的值互换
时间限制:1000MS 内存限制:65536K
总提交数:1235 正确数:530
问题描述
输入两个整数a,b ,将 a 和 b 的值互换,并输出。
例如:
输入: 2 5
输出: 5 2
输入
两个整数
输出
两个整数
输入样例
2 5
输出样例
5 2
提示
注意输入和输出的格式,两个数据之间用一个空格隔开。
问题来源
4:计算三门课程总分和平均分
时间限制:1000MS 内存限制:65536K
总提交数:1190 正确数:482
问题描述
输入三门课程的成绩,输出总分和平均分。
要求:
(1)输入三个数,用空格隔开。输入的数可以是小数。(2)输出两个数,用空格隔开。输出的数保留两位小数。
例如:
输入: 75 80 90
输出: 245.00 81.67 输入
输入三个数,用空格隔开。输入的数可以是小数。
输出
输出两个数,用空格隔开。输出的数保留两位小数。
输入样例
75 80 90
输出样例
245.00 81.67
问题来源
5:鸡兔同笼问题
时间限制:1000MS 内存限制:65536K
总提交数:872 正确数:443
问题描述
这个问题,是我国古代著名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔?
先要求编写一个程序求解这个问题。要求:输入头和脚的个数,输出鸡和兔子的个数。
输入
两个整数
输出
两个整数
输入样例
20 50
输出样例
15 5
提示
注意输出和输出格式。不能附加题目要求之外的其它内容。
问题来源
6:输出一个自然数的百位十位和个位上的各个数字
时间限制:1000MS 内存限制:65536K
总提交数:695 正确数:437
问题描述
输入一个自然数,输出这个整数的百位、十位和个位上的数字。
例1:
输入: 8
输出: 0 0 8
例2:
输入: 26
输出: 0 2 6
例3:
输入: 347 输出: 3 4 7
例4:
输入: 1234
输出: 2 3 4
输入
一个正整数
输出
三个0-9之间的数(空格分隔)
输入样例
1234
输出样例
2 3 4
提示
1、输入的数可能是0-32767之间的任何一个数;
2、输出必须是三个0-9之间的数,三个数用空格分隔。
3、输出不能有其它多余的内容;
4、本程序的关键在于使用 % 和 / 运算。
问题来源
7:输出字符(A-F)代表的十六进制数所对应的十进制值
时间限制:1000MS 内存限制:65536K
总提交数:462 正确数:387
问题描述
输入一个字符(A-F之间),输出该字符所代表的十六进制数所对应的十进制数的值。
例1:
输入: A
输出: 10
例2:
输入: B
输出: 11
例3:
输入: F
输出: 15
输入
一个字符
输出
一个10-15之间的十进制整数
输入样例
B
输出样例
11
提示
1、输入的内容必须是 A - F之间,可以作为字符输入,也可以作为一个十六进制数输入;
2、输出的必须是一个10-15之间的十进制整数。
问题来源
8:求华氏温度所对应的摄氏温度
时间限制:1000MS 内存限制:65536K
总提交数:556 正确数:407
问题描述
输入一个华氏温度值,求其所对应的摄氏温度。计算公式为:摄氏温度=5/9*(华氏温度-32)
输出的摄氏温度保留2位小数。
输入输出举例:
例1:
输入: 100
输出: 37.78
例2:
输入: 40
输出: 4.44
输入
一个小数
输出
一个小数(保留2位小数)
输入样例
100
输出样例
37.78
提示
注意输出的格式:只能保留2位小数
问题来源
9:已知斜边和一直角边计算三角形的另一直角边
时间限制:1000MS 内存限制:65536K
总提交数:547 正确数:415
问题描述
已知斜边和一直角边,计算三角形的另一直角边。
输入
两个数,第一个数为斜边,第二个数为一直角边。两个数以空格分隔。输出
一个数(保留2位小数)
输入样例
5 4
输出样例
3.00
提示
1、注意数据类型;
2、要使用到数学函数,必须包含相应的头文件;
3、注意输出格式。
问题来源10:已知三边计算三角形的面积
时间限制:1000MS 内存限制:65536K
总提交数:585 正确数:374
问题描述
输入三角形的三条边的值,计算三角形的面积。
要求:
(1)输入三个数(可以是小数),用空格隔开;(2)输出一个数,保留6为小数。
(3)数据采用double类型。
输入
三个数,用空格隔开。可以是小数
输出
一个数,保留6为小数。
输入样例
3 4 5
输出样例
6.000000
提示
(1)使用海伦公式;
(2)注意需要头文件。
问题来源
11:输出小写字母的ASCII码及对应大写字母
时间限制:1000MS 内存限制:65536K
总提交数:602 正确数:378
问题描述
从键盘输入一个小写字母,输出其ASCII和对应的大写字母。
输入
一个字符(小写字母)
输出
一个整数(ASCII码的值)和一个字符(对应的大写字母),用空格分隔开输入样例
a
输出样例
97 A
问题来源
12:保留两位小数
时间限制:1000MS 内存限制:65536K
总提交数:467 正确数:335 问题描述
从键盘输入一个小数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数以便验证是否正确。
要求:
(1)输入一个小数;
(2)输出一个小数,输出有六位小数。
例1:
输入:123.4567
输出:123.460000
例2:
输入:123.4447
输出:123.440000
输入
一个小数
输出
一个小数
输入样例
123.4567
输出样例
123.460000
提示
注意:使用数据使用double类型。
问题来源
13:判断输入的一个字符是否是小写字母
时间限制:1000MS 内存限制:65536K
总提交数:492 正确数:373
问题描述
从键盘输入一个字符,若是小写字母,输出其对应的 ASCII 码值;若不是则输出“ERROR”。
输入输出举例如下:
例1:
输入: a
输出: 97
例2:
输入: z
输出: 122
例3:
输入: ?
输出: ERROR
输入
一个字符
输出
一个十进制的整数或 ERROR 输入样例
a
输出样例
97
提示
1、使用简单分支结构进行编程。也可使用 ? : 运算符。
2、注意输入和输出格式,输出中不能有其它多余的内容。
问题来源
14:简单字符加密变换 A->F
时间限制:1000MS 内存限制:65536K
总提交数:450 正确数:322
问题描述
现需要对输入的字符进行加密变换。加密变换的基本方法如下:输入 A ,输出 F ;输入 B ,输出 G; ...... ;输入 Y ,输出 D ;输入 Z ,输出 E 。编写一个程序实现该加密变换。
举例:
例1:
输入: A
输出: F
例2:
输入: B
输出: G
例3:
输入: Z
输出: E
输入
输入一个字母
输出
一个字母
输入样例
A
输出样例
F
提示
可行的方案有很多。例如可以使用条件运算符?:进行程序设计,也可使用 % 运算符进行程序设计。
问题来源
15:判断输入的一个字符是什么类型的字符
时间限制:1000MS 内存限制:65536K
总提交数:583 正确数:337 问题描述
从键盘上输入一个字符,判断输入的字符是字母、数字、还是其它。若输入的是字母,则输出capital;若输入的是数字,则输出 number ;若输入的是其它字符,则输出 other 。
输入输出举例:
例1:
输入: G
输出: capital
例2:
输入: f
输出: capital
例3:
输入: 8
输出: number
例4:
输入: !
输出: other
输入
一个字符
输出
apital 或 number 或 other
输入样例
G
输出样例
capital
提示
注意输出的内容一定要与题目的要求一致,包括大小写。
问题来源
16:判断一个学生的成绩等级
时间限制:1000MS 内存限制:65536K
总提交数:536 正确数:375
问题描述
请输入一个学生的 C 语言考试成绩,如果成绩少于 60 分,则输出“ failed”;如果成绩大于等于 60 ,且小于 80 ,则输出“middle”;如果成绩大于等于 80 分,则输出“excellent”;
输入输出举例:
例1:
输入: 55
输出: failed
例2:
输入: 75
输出: middle
例3:
输入: 85
输出: excellent 输入
一个数值
输出
failed 或 middle 或 excellent
输入样例
85
输出样例
excellent
提示
输出的内容一定要与题目要求一致,包括大小写。
问题来源
17:输出数字(1-7)对应的英文星期名称的简写
时间限制:1000MS 内存限制:65536K
总提交数:536 正确数:337
问题描述
从键盘输入一位整数( 1-7 ),输出对应的英文星期名称的简写( Mon, Tues, Wed, Thu, Fri, Sat, Sun )
输入输出举例:
例1:
输入:1
输出:Mon
例2:
输入:4
输出:Thu
输入
一个整数(1-7之间)
输出
Mon 或 Tues 或 Wed 或 Thu 或 Fri 或 Sat 或 Sun
输入样例
2
输出样例
Tues
提示
1、可使用 if ... else if 结构,也可使用switch结构。
2、输出的内容必须与题目要求的一致,包括大小写。
问题来源
18:给定三个边长的值判断是否能够构成三角形时间限制:1000MS 内存限制:65536K
总提交数:650 正确数:347
问题描述
输入三个数作为三角形的边长 (a,b,c) ,判断是否能构成一个三角形(两边之和大于第三边,两边之差小与第三边),若能构成三角形输出 YES ,若不能构成三角形则输出 NO
输入输出举例:
例1:
输入: 3 4 5
输出: YES
例2:
输入: 8 2 5
输出: NO
输入
三个数(用空格分隔)
输出
YES 或 NO
输入样例
3 4 5
输出样例
YES
问题来源
19:将输入的三个数按从小到大的顺序输出
时间限制:1000MS 内存限制:65536K
总提交数:460 正确数:308
问题描述
输入三个整数 x,y,z ,请把这三个数由小到大输出。
举例:
例1:
输入: 6 3 9
输出: 3 6 9
输入
三个整数(用空格分隔)
输出
三个整数(用空格分隔)
输入样例
6 3 9
输出样例
3 6 9
提示
我们想办法把最小的数放到 x 上:先将 x 与 y 进行比较,如果 x>y 则将 x 与 y 的值进行交换,然后再用 x 与 z 进行比较,如果 x>z 则将 x 与 z 的值进行交换,这样能使 x 最小;
问题来源
20:编程计算一个分段函数
时间限制:1000MS 内存限制:65536K
总提交数:428 正确数:319
问题描述
有一个函数如下:
y = x (x<1)
= 2x-1 (1≤x<10)
= 3x-11 (x≥10)
编写一个程序,要求输入 x, 输出 y 的值。( y保留2位小数)
输入输出举例:
例1:
输入:0.2
输出:0.20
例2:
输入:5.5
输出:10.00
例3:
输入:12
输出:25.00
输入
一个数
输出
一个数
输入样例
5.5
输出样例
10.00
问题来源
21:这个数能被3整除吗?
时间限制:1000MS 内存限制:65536K
总提交数:546 正确数:374
问题描述
从键盘输入一个整数,判别它是否能被3整除。若能被3整除,打印出YES,否则打印出NO。
要求:
输入:一个整数
输出:YES 或 NO
例1:
输入: 9 输出: YES
例2:
输入: 8
输出: NO
输入
一个整数
输出
YES 或 NO
输入样例
9
输出样例
YES
问题来源
22:这个月有多少天?
时间限制:5000MS 内存限制:65536K
总提交数:542 正确数:290
问题描述
输入年和月,计算这年的这月有多少天,并输出。
要求:
输入:两个数,分别代表年和月。两个数间用空格分隔;
输出:一个数,代表天数
例1:
输入:2009 12
输出:31
例2:
输入:2008 2
输出:29
例3:
输入:2007 2
输出:28
例4:
输入:2008 4
输出:30
输入
两个数,分别代表年和月。两个数间用空格分隔;输出
一个数,代表天数
输入样例
2008 2
输出样例
29
提示注意:需要进行闰年的判别。
问题来源
23:模拟加减乘除计算器
时间限制:1000MS 内存限制:65536K
总提交数:361 正确数:274
问题描述
编写一个程序模拟一个计算器,能够实现两个数的加减乘除运算。
要求:
(1)输入一个表达式。该表达式包含两个数和一个运算符,运算符处在两个数中间,表达式中没有空格。只考虑 +、-、*、/ 四种运算符。
(2)输出计算结果,保留六位小数。
例1:
输入: 1.2+2.3
输出: 3.5000000
例2:
输入: 2.3-1.2
输出: 1.1000000
例3:
输入: 2.3*1.2
输出: 2.760000
例3:
输入: 2.3/1.2
输出: 1.916667
输入
输入一个表达式。该表达式包含两个数和一个运算符,运算符处在两个数中间,表达式中没有空格。只考虑 +、-、*、/ 四种运算符。
输出
输出一个数,保留六位小数。
输入样例
1.2+
2.3
输出样例
3.500000
提示
注意输入语句中的格式控制。试试:
scanf("%f%c%f",&a,&b,&c);
问题来源
24:输出三个数中的最大数和最小数
时间限制:1000MS 内存限制:65536K
总提交数:386 正确数:298
问题描述
输入三个整数,输出其中的最大数和最小数。要求输入和输出的数据之间用空格分隔。
例1:输入: 1 5 3
输出: 5 1
例1:
输入: 6 5 3
输出: 6 3
输入
三个整数,用空格分隔
输出
两个整数,用空格分隔。大的数放在前面
输入样例
1 5 3
输出样例
5 1
问题来源
25:个人所得税问题(1)
时间限制:1000MS 内存限制:65535K
总提交数:389 正确数:275
问题描述
输入一个职工的月薪salary,输出应当缴纳的个人所得税tax(输出时保留2位
小数)。
个人所得税计算方式如下:(注意:不需要进行分段计税,每个人的税率只有一种)
tax = rate x ( salary - 850 ) / 100
当:
salary ≤ 850 , rate=0 ;
850 < salary ≤ 1350, rate=5 ;
1350 < salary ≤ 2850, rate=10 ;
2850 < salary ≤ 5850, rate=15 ;
5850 < salary, rate=20 .
例1:
输入:600
输出:0.00
例2:
输入:850
输出:0.00
例3:
输入:1200
输出:17.50
例4:
输入:1350
输出:25.00
例5:
输入:1455.6
输出:60.56
例6:
输入:2850
输出:200.00
例7:
输入:2987.5 输出:320.63
例8:
输入:5850
输出:750.00
例9:
输入:6001.1
输出:1030.22
输入
一个数
输出
一个数,保留两位小数
输入样例
1455.6
输出样例
60.56
问题来源
26:出租车收费问题
时间限制:1000MS 内存限制:65536K 总提交数:340 正确数:226
问题描述
某市出租车起步里程为 3 公里,起步费 10 元;超起步里程后,10公里以内(含10公里),2元/公里;超10公里以上部分,加收 50% 的回空补贴,即 3元/公里。另,因路阻和乘客要求的临时停车,每 5 分钟按 1 公里租费计(2分钟则计为0.4公里)。
现请编写程序,输入出租车行使的公里数和等待时间(分钟),输出应付车费(元)。
要求:
(1)输入要求:公里数可为小数,等待时间为整数;两数用空格分隔;(2)输出要求:按元计算。(即没有小数部分,小数部分实现四舍五入)
例1:
输入: 2 4
输出: 10
例2:
输入: 3 0
输出: 10
例3:
输入: 3.5 4
输出: 13
例4:
输入: 6 8
输出: 19
例5:
输入: 10 0
输出: 24
例6:
输入: 11.2 8
输出: 32
输入
两个数。第1个数为公里数(可为小数),第2个数为等待时间(为整数)。两个数用空格分隔。
输出
一个数,没有小数部分,小数部分实现四舍五入。
输入样例
3.5 4
输出样例
13
问题来源
27:学生综合测评问题
时间限制:1000MS 内存限制:65536K
总提交数:525 正确数:259
问题描述
某班综合考评,根据参加集体活动的次数加分,规则如下:没有参加活动,不加分;
参加1次活动,加1分;
参加2次或3次活动,加2分;
参加4次到7次活动,参加几次加几分;
参加8次到10次活动,加8分;
参加10次以上,加10分;
编程要求输入参加活动的次数,输出加的分数。
输入
一个整数,表示参加活动的次数
输出
一个整数,表示加的分数
输入样例
3
输出样例
2
问题来源
28:个人所得税问题(2)
时间限制:1000MS 内存限制:65536K
总提交数:327 正确数:247
问题描述
输入一个职工的月薪salary,输出应当缴纳的个人所得税tax(输出时保留2位小数)。
个人所得税计算方式如下:
当:
salary ≤ 850 , rate=0 ;
850 < salary ≤ 1350, rate=5% ;
1350 < salary ≤ 2850, rate=10% ;
2850 < salary ≤ 5850, rate=15% ;
5850 < salary, rate=20% . 注意:需要进行分段计税。
例如;某人的工资为6000元,则:
6000元中的850元部分不用缴税;
850-1350元部分按 5% 缴税,即需要缴纳(1350-850)x 5% = 25 ; 1350-2850元部分按 10% 缴税,即需要缴纳(2850-1350)x 10% = 150 ; 2850-5850元部分按 15% 缴税,即需要缴纳(5850-2850)x 15% = 450 ; 5850-6000元部分按 20% 缴税,即需要缴纳(6000-5850)x 20% = 30 ; 因此,总共需要缴纳的个人所得税为:25+150+450+30 = 655
例1:
输入:600
输出:0.00
例2:
输入:850
输出:0.00
例3:
输入:1200
输出:17.50
例4:
输入:1350
输出:25.00
例5:
输入:1455.6
输出:35.56
例6:
输入:2850
输出:175.00
例7:
输入:2987.5
输出:195.63
例8:
输入:5850
输出:625.00
例9:
输入:6000
输出:655.00
输入
一个数
输出
一个数,保留2位小数
输入样例
2987.5
输出样例
195.63
问题来源
29:他(她)的实足年龄是......
时间限制:1000MS 内存限制:65536K
总提交数:438 正确数:243
问题描述
编写程序:输入一个人的出生日期(年月日),以及当前的日期(年月日);输出他(她)的实足年龄。要求:
(1)输入的数据分为两行,第1行为出生日期,顺序为年月日,用空格分隔;第2行为当前日期,顺序为年月日,用空格分隔;
(2)输出实足年龄。
例1:
输入:
1992 12 31
2011 3 28
输出:
18
例2:
输入:
1992 3 31
2011 3 28
输出:
18
例3:
输入:
1992 3 28
2011 3 28
输出:
19
例4:
输入:
1992 3 27
2011 3 28
输出:
19
例5:
输入:
1992 1 30
2011 3 28
输出:
19
输入
总共6个整数,数据分为两行,第1行为出生日期,顺序为年月日,用空格分隔;第2行为当前日期,顺序为年月日,用空格分隔;
输出
一个整数,表示实足年龄。
输入样例
1982 12 31
2011 3 28
输出样例
18
问题来源
30:将一个小整数逆序输出
时间限制:1000MS 内存限制:65536K
总提交数:425 正确数:298
问题描述
输入一个不多于5位的正整数,按逆序打印出各位数字。
例1:
输入:321 输出:123
例2:
输入:120
输出:21
例3:
输入:1002
输出:2001
输入
一个正整数
输出
输出一个正整数
输入样例
321
输出样例
123
提示
1、注意个位是零的情况,如:120。
2、注意中间数字有零的情况,如:1002
问题来源
31:计算一个数字的各位数字之和
时间限制:1000MS 内存限制:65536K
总提交数:466 正确数:328
问题描述
从键盘输入一位整数,计算其各位数字之和。比如输入整数 31421 ,则打印结果为 11 (3+1+4+2+1)。
输入
一个整数
输出
一个整数
输入样例
31421
输出样例
11
提示
输入采用长整形数。
问题来源
32:求两个数之间有多少个数的各位上数字之和为7
时间限制:1000MS 内存限制:65536K
总提交数:412 正确数:209 问题描述
从键盘输入两个数字,求在这两个数字之间有多少个数其各位数字之和为7。输出求得的个数。
例如10-100之间有7个数字,其各位数字之和为7。(分别为:
16,25,34,43,52,61,70)
输入输出举例:
例1:
输入:10 100
输出:7
例2:
输入:100 10
输出:7
例3:
输入:10 9999
输出:119
输入
两个整数(用空格分隔)
输出
一个整数
输入样例
10 100
输出样例