C语言实验报告
题目:7-6 阶梯电价(15 分)
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
思路:根据用电量的不同值,判断其属于哪个范围;算电费用什么公式;
方法:脑子里先明确有几种情况,注意考虑所有能取的值,然后想下对应的语句怎么写;
源程序:if (x<0){
printf("Invalid Value!");
} else if (x<=50)
{ printf("cost = %.2f",0.53*x);
}else {
y=26.5+0.58*(x-50);
printf("cost = %.2f",y); }(注意一步一步来,注意层次,要有顺序)
遇到的问题:写时先判断二三,最后才一,导致出错。
心得:其实自己要有严密的逻辑性;
题目:4-6 输出华氏-摄氏温度转换表(15 分)
输入2个正整数lower
和upper
(lower
≤upper
≤100),请输出一张取值范围为[lower
,upper
]、且每次增加2华氏度的华氏-摄氏温度转换表。
温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度
思路:先正确理解题目第一,二句话的意思,再考虑第三句话的意思,大概想下代码形式;
方法:按部就班,注意循环条件;
源程序:if(A<=B&B<=100)
{
printf("fahr celsius\n");
do{
C = 5.0 * (A-32)/9.0;
printf("%d%6.1f\n",A,C);
A+=2;}while(A<=B);
}else{
printf("Invalid.");
}
return 0;
}
遇到的问题:写时不会占据6个字符宽度,靠右对齐,保留1位小数的表示表达式中的数不会正确表示;心得:double函数定义的变量的表达式后一定要用小数。
题目:4-2-10 回文数(10 分)
判断一个5位数是不是回文数。例如12321是一个回文数,即它的个位与万位相同,十位与千位相同。。
思路:学会应用/得整数和%去计算每个位上的数;
方法:直接应用/和%求得各个位上的书;
源程序: int b,c,d,e,f;
b=a/10000;
c=a%10000/1000;
d=a%10000%1000/100;
e=a%10000%1000%100/10;
f=a%10000%1000%100%10;
if(b==f&c==e){
printf("yes");
}else{
printf("no");
遇到的问题:犯了初学者易犯的错误;
心得:要认真