程序设计(1)实验习题
实验一
(1)运行以下程序,并解释运行结果。
# include <stdio.h>
int main(void)
{ int x = –1;
unsigned u = ;
printf ( “x = %u = %d\n”, x, x);
printf ( “u = %u = %d\n”, u, u);
return 0;
}
(2)运行以下程序,解释运行结果,并修改程序以使结果正确。
# include <stdio.h>
int main(void)
{ int x = ;
printf ( “x + 1 = %d\n”, x + 1);
return 0;
}
(3)运行以下程序,解释运行结果。
程序1:
#include <stdio.h>
int main(voidprintf输出格式16)
{ float a;
double b;
a = 123456.789e4;
b = 123456.789e4;
printf(“%f\n%f\n”,a,b);
return 0;
}
程序2:
# include <stdio.h>
int main()
{ float a,b;
a=123456.789e5;
b=a+20;
printf("%f\n",a);
printf("%f\n",b);
return 0;
}
(4)求平方根:输入1 个实数x,计算并输出其平方根(保留1 位小数)。
(5)华氏温度转换为摄氏温度:输入华氏温度f,计算并输出相应的摄氏温度c(保留2 位小数)。c = 5/9(f-32).
(6)三天打鱼两天晒网:中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第n天中是“打鱼”还是“晒网”?编写相应程序(第一天就是当天)。例如:
输入:
103
输出:
Fishing in day 103
输入:
35
输出:
Drying in day 35
(7)按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
输入格式:
在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
输出格式:
在一行中输出处理意见:若属于正常行驶,则输出“正常行驶”;若应处,则输出“超速 x%,200”;若应吊销驾驶证,则输出“超速x%,吊销驾照”。其中x是超速的百分比,精确到整数。
(8)从键盘输入一个整数,判断它是奇数还是偶数,输出判断结果。
(9)输入一个正整数,判断是否能被5和7整除,若是,输出YES,若否,输出NO。
(10)输入一个字符输出其ASCLL码的十进制值。
实验二
(1)最小值
输入四个整数,输出其中的最小值。
(2)求三角形的面积和周长
输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area 和周长perimeter(保留2 位小数);否则,输出“These sides do not correspond to a valid triangle”。在一个三角形中,任意两边之和大于第三边。三角形的面积计算公式:
area*area = s(s-a)(s-b)(s-c) 其中:s = (a+b+c)/2
(3)判断数的符号
输入整数x,若x 大于0,y=1;若x 等于0,y=0;否则,y=-1,最后输出y。
(4)字母转换
输入一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。
(5)编写一个加减乘除运算器,输入两个浮点数以及“+”,“-”,“*”,“/”中的一个,输出结果(保留两位小数)。
例如,输入 1 4 /
输出 0.25
(6)实现一个简单的英文字母加密程序(确保输入的是英文字符),用该字母后第5个字母加密,大小写对应,例如输入X,输出C,输入x输出c。
(7)实现一个BMI指数(即身体质量指数)计算器,其定义如下:
BMI = 体重(kg)÷身高²(m),输入身高,体重(注意单位),输出BMI值(保留两位小数)并根据该值判断其身体健康状况并输出。
较轻:BMI<18;
正常:18≤BMI<25;
超重:25≤BMI<28;
肥胖:BMI≥28。
例如:输入 80.0 181.0
输出 24.42 正常
(8)为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
输入格式:
输入在一行中给出某用户的月用电量(单位:千瓦时)。
输出格式:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”
(9)要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
– 大于等于90分为A;
– 小于90且大于等于80为B;
– 小于80且大于等于70为C;
– 小于70且大于等于60为D;
– 小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔。
(10)输入年号,计算这一年的2月份的天数,将结果输出。
(11)输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,何种类型的三角形:等腰、等边、直角、等腰直角、一般。
(12)从键盘上输入年份和月份,输出这一年的该月有多少天。
实验三
循环结构
(1)求n!
读入1 个正整数 n (n<=20),计算并输出 n! 。
(2)求1-1/3+1/5-1/7+⋯⋯
读入1 个正实数eps,计算并输出1-1/3+1/5-1/7+⋯⋯,直到最后一项的绝对值小于eps(
保留6 位小数)。
(3)求a+aa+aaa+aa…a
输入2 个正整数a 和n, 求a+aa+aaa+aa⋯a(n 个a)之和。
(4)求各位数字的立方和等于它本身的数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论