1、
C语言实验习题
7-1 输出图形(10 分)
编写程序输出图形。第一行输出12个$,第二行先输出3个空格,然后再输出hello!,第三行输出12个$
输入样例:
无输入
输出样例:
$$$$$$$$$$$$
hello!
$$$$$$$$$$$$
代码:
#include
2、turn 0 ;
}
7-5 计算华氏温度(5 分)
本题要求编写程序,计算摄氏温度26°C 对应的华氏温度。计算公式:F=9×C/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出
celsius = 26, fahr = 对应的华氏温度整数值
代码:
#include
3、 = %d",f);
return 0 ;
}
7-9 逆序的三位数(10 分)
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
123
输出样例:
321
代码:
#include
4、b*10;
int d;
d=a+b*10+c*100;
printf("%d",d);
return 0 ;
}
7-10 整数四则运算(10 分)
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
输入格式:
输入在一行中给出2个正整数A和B。
输出格式:
在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
输入样例:
3 2
输出样例:
3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1
代码:
#include
5、int main() { int A,B; scanf("%d %d",&A,&B); int c,d,e,f; c=A+B; d=A-B; e=A*B; f=A/B; printf("%d + %d = %d\n" "%d - %d = %d\n" "%d * %d = %d\n" "%d / %d = %d\n",A,B,c,A,B,d,A,B,e,A,B,f); return 0 ; } 7-11 求整数均值(10 分) 本题要求编写程序,计算4个整数的
6、和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
1 2 3 4
输出样例:
Sum = 10; Average = 2.5
代码:
#include
7、c,&d); int Average; average = (double) (a + b + c + d) / 4; int sum; sum=a+b+c+d; printf ("Sum = %d; Average = %.1lf\n",sum, average); return 0; } 7-1 三天打鱼两天晒网(15 分) 中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”? 输入格式: 输入在一行中给出一个不超过1000的正整数N。 输出格式: 在一行中输出此人在第N天
8、中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。
输入样例1:
103
输出样例1:
Fishing in day 103
输入样例2:
34
输出样例2:
Drying in day 34
代码:
#include
9、d",N); else printf("Fishing in day %d",N); return 0; } 7-2 计算符号函数的值(15 分) 对于任一整数n,符号函数sign(n)的定义如下: 请编写程序计算该函数对任一输入整数的值。 输入格式: 输入在一行中给出整数n。 输出格式: 在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。 输入样例1: 10 输出样例1: sign(10) = 1 输入样例2: 0 输出样例2: sign(0) = 0 输入样
10、例3:
-98
输出样例3:
sign(-98) = -1
代码:
#include
11、安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。 输入格式: 输入在一行中给出某用户的月用电量(单位:千瓦时)。 输出格式: 在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。 输入样例1: 10 输出样例1: cost = 5.30 输入样例2: 100 输出样例2: cost = 55.50 代码: #inclu
12、de
13、intf("cost = %.2lf\n",b);} } 7-4 计算油费(15 分) 现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。 本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。 输入格式: 输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。 输出格式: 在一行
14、中输出应付款额,保留小数点后2位。
输入样例:
40 97 m
输出样例:
301.34
代码:
#include
15、 case 97: m1=7.93*a; break; } switch(c) { case('m'): m2=0.95*m1;break; case('e'): m2=0.97*m1;break; } printf("%.2lf",m2); } 7-5 两个数的简单计算器(15 分) 本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。 输入格式: 输入在一行中依次输入操作数1、运算符、操作数
16、2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。
输入样例1:
-7 / 2
输出样例1:
-3
输入样例2:
3 & 6
输出样例2:
ERROR
代码:
#include
17、b); if(c=='+'||c=='-'||c=='*'||c=='/'||c=='%') switch (c) { case '+': printf("%d",a+b);break; case '-': printf("%d",a-b);break; case '*': printf("%d",a*b);break; case '/': printf("%d",a/b);break; case '%': printf("%d",a%b
18、);break; } else printf("ERROR"); } 7-1 生成3的乘方表(15 分) 输入一个非负整数n,生成一张3的乘方表,输出30~3n的值。可调用幂函数计算3的乘方。 输入格式: 输入在一行中给出一个非负整数n。 输出格式: 按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。 输入样例: 3 输出样例: pow(3,0) = 1 pow(3,1) = 3 pow(3,2) = 9 pow(3,3) = 27
19、
代码:
#include
20、
输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
输入样例:
9
88 74 101 26 15 0 34 22 77
输出样例:
3 6
代码:
#include
21、{ case 1: a++;break; case 0: b++;break; } } printf("%d %d",a,b); return 0; } 7-3 找出最小值(15 分) 本题要求编写程序,找出给定一系列整数中的最小值。 输入格式: 输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。 输出格式: 在一行中按照“min = 最小值”的格式输出n个整数中的最小值。 输入样例: 4 -2 -123 100 0 输出样例: min = -123
22、代码:
#include
23、rintf("min = %d",m);
}
7-4 求平方根序列前N项和(15 分)
本题要求编写程序,计算平方根序列√1+√2+√3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum = 22.47
代码:
#include
24、) { int i,n; double sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum+=sqrt(i); } printf("sum = %.2lf",sum); } 7-5 统计学生平均成绩与及格人数(15 分) 本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。 输入格式: 输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。 输出格式
25、
按照以下格式输出:
average = 成绩均值
count = 及格人数
其中平均值精确到小数点后一位。
输入样例:
5
77 54 92 73 60
输出样例:
average = 71.2
count = 4
代码:
#include
26、 printf("count = 0"); } else { for (i = 0; i < n; i++) { scanf("%d", &a); sum = sum + a; if (a >= 60) count++; } d = (float)sum /(float) n; printf("ave
27、rage = %.1f\n", d); printf("count = %d", count); } } 7-6 寻找250(15 分) 对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 输入格式: 输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。 输出格式: 在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。 输入样例: 888 666 123 -233 250 13 250 -222
28、
输出样例:
5
代码:
#include
29、天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?
输入格式:
输入在一行中给出正整数N(1
30、博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。 下面就请你写个程序,根据当前时间替大笨钟敲钟。 输入格式: 输入第一行按照hh:mm的格式给出当前时间。其中hh是小时
31、在00到23之间;mm是分钟,在00到59之间。
输出格式:
根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang。如果不是敲钟期,则输出:
Only hh:mm. Too early to Dang.
其中hh:mm是输入的时间。
输入样例1:
19:05
输出样例1:
DangDangDangDangDangDangDangDang
输入样例2:
07:05
输出样例2:
Only 07:05. Too early to Dang.
代码:
#include
32、{
int a,b,n,i;
char c;
scanf("%2d%c%2d",&a,&c,&b);
if((a>=0&&a<=11)||(a==12&&b==0))
printf("Only %02d:%02d. Too early to Dang.",a,b);
else if(b==0)
for(i=0;i 33、 printf("Dang");
}
7-9 输出三角形字符阵列(15 分)
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D
E F G
H I
J
代码:
#include 34、n,i,j,b;
scanf("%d",&n);
if(n>=1&&n<7)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n+1-i;j++)
{b=(2*n+2-i)*(i-1)/2+j;
printf("%c ",a+b-1);}
printf("\n");
}
}
else ;
return 0;
}
7-10 跟奥巴马一起画方块(15 分)
美国总统奥巴马不仅呼吁所有人都学习 35、编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
输入格式:
输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。
输出格式:
输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。
输入样例:
10 a
输出样例:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
a 36、aaaaaaaaa
代码:
#include
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818