第一次C语言实验报告

一·PTA实验作业

题目1:计算存款利息

本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。

1·设计思路

  • 第一步:定义变量 money rate year interest
  • 第二步:计算 inserest 的值
  • 第三步:输出 inserest

2·实验代码

  scanf("%d %f %f",&money,&year,&rate);
  a=pow((1+rate),year);
  interest = money*a-money;
  printf("interest = %.2f",interest);

3·遇到的问题及解决方法:

  • 编译错误 scanf("%d %d %d",&money,&year,&rate);
    解决方法:float 定义的变量输入应改为 %f
  • 答案错误:(1+rate)^year
    解决方法:计算数的幂次方应用 pow 函数

题目2:输出华氏-摄氏温度转换表

输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。
温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。

1·设计思路

  • 第一步:定义 fahr celsius
  • 第二步:利用 for 循环多次计算华氏和摄氏温度的转换
  • 第三步:到达最大值时输出对应的 fahr 和 celsius

2·实验代码

#include<stdio.h>
int main(){
  int i,lower,upper,fahr;
  double celsius;
  
  scanf("%d %d",&lower,&upper);
  
  if(lower<=upper&&upper<=100){
  	printf("fahr celsius\n");
    for(i=lower;i<=upper;i+=2){
      celsius=5.0*(i-32)/9.0;
      printf("%d%6.1f\n",i,celsius);
    }
  }else{
    printf("Invalid.");
  }
  return 0;
}

3·遇到的问题及解决方法

  • 多种错误:程序无法跳出循环
    解决方法:改变 for 循环中的变量
  • 部分正确:celsius=5*(fahr-32)/9;
    解决方法:celsius=5.0*(fahr-32)/9.0;

题目3:到底是不是太胖了

据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。

1·设计思路

  • 第一步:定义身高 h 体重 w 和输入人数N
  • 第二步:利用for循环多次输入h w
  • 第三步:利用 if-else 分支判断胖瘦
  • 第四步:输出对应语句

2·实验代码

  for(i=1;i<=N;i++){
    scanf("%d%d",&h,&w);
    a=(h-100.0)*1.8;
      if(fabs(w-a)<a*0.1){
        printf("You are wan mei!\n");
      }else if((a-w)>=a*0.1){
        printf("You are tai shou le!\n");
      }else{
        printf("You are tai pang le!\n");
      } 

3·遇到问题及解决方法

  • 编译错误for(i=1,i<=N,i++)
    解决方法:改为 for(i=1;i<=N;i++)
  • 部分正确:读题时产生偏差 else if((a-w)>a*0.1)
    解决方法: else if((a-w)>=a*0.1)

心得体会

  • 写程序时应该更为注意 scanf for 等语句的用法
  • 读题应更为认真 ,避免小失误
posted @ 2017-10-21 21:05  LCLkris  阅读(9793)  评论(2编辑  收藏  举报