首页 > 技术文章 > 第一次作业

pinksister 2018-11-30 21:15 原文

一.计算机18秋_分支结构:7-1计算存款利息

1.实验代码

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5   float year;
 6   float interest,rate,i,money,a;
 7   if(scanf("%f %f %f",&money,&year,&rate))
 8   {
 9      a=1+rate;
10      i=pow(a,year);
11      interest=money*i-money;
12      printf("interest = %.2f",interest);
13        
14      }
15      return 0;
16   
17 }

2.设计思路

(1) 第一步:进行函数声明与变量定义。定义题目中涉及的的相关变量---年份,利息,利率;同时定义两个单精度浮点值i和a。

      第二步:输入三个float型变量

      第三步:利用题目中所给公式interest=money×(1+rate)year​​money和换元法计算

      第四步:输出利息

(2) 流程图

3.本题调试过程碰到问题及解决方法

(1)所遇到的问题

① 用;来表示语句的结束。

② 求a的b次方用pow函数,使用需要在头文件加入。

③ 最后的利润interest为实数,存款年份不一定是整数,可以为实数,应该定义为doube或float。

(2)解决方案

反复敲打自己认为对的代码,从错误中寻找遗漏的知识点,寻找类似题型进行训练并看书得到弥补。

二:计算机18秋_循环1:7-1 统计学生平均成绩与及格人数

1.实验代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int N,i,a,count=0,sum=0;
 5     double average;
 6     scanf("%d",&N);
 7     if(N==0)
 8     {
 9       printf("average = 0.0\n");
10       printf("count = 0");
11     }
12     else
13     {
14       for(i=0;i<N;i++)
15       {
16         scanf("%d",&a);
17         sum = sum + a;
18         if(a>=60)
19         count++;
20        }
21        average = 1.0*sum/N;
22        printf("average = %.1f\n",average);
23        printf("count = %d\n",count);
24     }
25     return 0;
26  } 

2.设计思路

(1) 第一步:进行函数声明与变量定义。定义i为循环变量,a输入的学生成绩,count计数初始值为0,sum成绩和值,平均值average。添加一个循环作用为循环输入学生成绩

     第二步:输入N

     第三步:if-else语句判断N是否等于0。如果N=0输出,则count=0,average=0。如果N不等于0则令i=0,输入a,则开始计算计算sum=sum+a。

     第四步:添加for循环,若输入人数不为0,进入该循环。计算成绩和值(sum=sum+a)如果成绩大于60即为及格成绩,count+1。

     第五步:再次使用if语句判断a是否大于等于60,若符合,则count+1;判断i是否小于N,是则进行循环直至结束,循环结束后计算平均分。

     第六步:输出平均值和及格人数。

(2) 流程图

3.本题调试过程碰到问题及解决办法

 (1)所遇到的问题

① 用;来表示语句的结束。

② 求a的b次方用pow函数,使用需要在头文件加入。

③ 前后变量需一致

(2)解决方法

反复核对代码的大小写,中英文,空格,分号及变量。

三.计算机18秋—循环2:7-3 求整数的位数及各位数字之和

1.实验代码

 1 #include <stdio.h>
 2 
 3 int main(void) 
 4 {
 5     int number, temp, i = 0, sum = 0;
 6 
 7     scanf("%d", &number);
 8     temp = number;
 9     while (temp) {
10         sum += temp % 10;
11         temp /= 10;
12         i++;
13     }
14     printf("%d %d\n", i, sum);
15 
16     return 0;
17 }

2.设计思路

(1)第一步:进行函数声明与变量定义,定义整数型number, i = 0, sum = 0

         第二步:输入number

         第三步:判断number是否为真,利用循环来进行位数的计算,求它的位数及其各位数字之和

         第四步:输出i,sum

(2)流程图

3.本题调试过程碰到问题及解决办法

在不断的扎实中成长

四.总结和学习进度条

1.总结

(1)for循环:适合于循环次数是已知的。最好选择for循环。

         while:适合于循环次数是未知的。最好选择while循环。
         do while:适合于循环至少执行一次的。最好选择do while循环.【注意:至少执行一次。因为先执行后判断表达式2的。】

(2)else不可以单独使用,它与其前最近一个尚未配对的if配对。

(3)break语句只能用于switch语句和循环。

刚开始学习c语言,有诸多不适应,有时候不能很好的理解老师所讲,不能很好的消化知识点。但经过课下的复习和题型的掌握,对于个别题型已经能做到轻车熟路,反复看书中的知识点和例子,复习老师在群里下发的ppt,能更好的理解知识点,收到事半功倍的效果。

2.点评:李靖刘昱淞袁于纯

   邀请:李靖,袁于纯,杨仕奇

3.表格、折线图

周数 编写代码行数 编写代码时间/时  写博客字数  写博客时长  知识点
第九周 1000 6  0  0  分支结构
第十周 1200 8  0  0  循环
第十一周 2000 14  0  0  循环
第十二周 2200 14  2200  6  函数

 

 

 

 

 

 

 

 

 

 

推荐阅读