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个正整数lowerupperlowerupper100),请输出一张取值范围为[lowerupper]、且每次增加2华氏度的华氏-摄氏温度转换表。

温度转换的计算公式:C=5×(F32)/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");

遇到的问题:犯了初学者易犯的错误;

心得:要认真

 

 

posted on 2017-10-25 23:05  松岛菜  阅读(761)  评论(0编辑  收藏  举报