分支结构中题目7-8计算个人所得税:

1.实验代码:

 

# include <stdio.h> 
# include <math.h> 
int main()
{
  float s,y;
  scanf("%f",&s);
  if (s <= 1600)
  {
    y = 0;
  }
 else if ((s > 1600)&&(s<=2500)){
    y = (s - 1600) * 0.05;
  }
 else if ((s > 2500)&&(s<=3500)){
    y = (s - 1600) * 0.1;
  }
 else if ((s > 3500)&&(s<=4500)){
    y = (s - 1600) * 0.15;
  }
else{
    y =(s - 1600) * 0.2;
  } 
  printf("%.2f",y);
  return 0;
}

2 设计思路:用else-if语句将多种情况分开,需调用数学函数<math.h>

第一步:取两个浮点数s(薪水)y(个人所得税),输入s。

第二步:利用if 语句判断是否满足 s<=1600的情况,若满足执行该语句输出为0,若不满足则进入下列语句判断条件是否满足,以此类推。最终输出结果保留两位小数“%.2f"。

流程图:

 

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

1)没有用到与的逻辑关系符。

2)忘记打&。

3)else-if语句不熟练。

解决方案,寻找并修改错误,将代码重复写了几遍,找了几道类似的else-if语句的题进行解决。

 循环结构1 7-1 统计学生平均成绩与及格人数

1.实验代码:

#include<stdio.h>
#include<math.h>
int main()
{
  int n,i,a,count=0,sum = 0;
  float d;
  scanf("%d", &n);
  if ( n == 0)
  {
    printf("average = 0.0\n");
    printf("count = 0");
  }else
  {
    for (i = 0; i < n; i++)
  {
    scanf("%d", &a);
    sum = sum + a;
    if (a >= 60)
    count++;
  }
  d = (float)sum /(float) n;
  printf("average = %.1f\n", d);
  printf("count = %d", count);
  }
}

2 设计思路:利用循环结构输入一批学生的成绩,计算平均成绩,并统计不及格人数。

1)定义n为输入数据数,i为循环变量,a输入的学生成绩,count计数初始值为0,sum成绩和值,平均值d。

2)判断输入人数是否为0,若为0输出count=0,d=0。只有当输入人数不为0时才有d=sum/n。

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

4)计算平均值,输出平均值保留1位小数,输出及格人数。

流程图:

 

 

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

结构错误:在判断成绩是否及格后计算sum值。

解决方法将"sum=sum+a;"输入a值的语句之后,先对sum进行计算后判断成绩是否及格,并进行统计。

循环2 7-7 寻找250:

1.实验代码:

#include <stdio.h>
int main()
{
  int n,count=0;
  while(n!=250){
    scanf("%d",&n);
    count++;
  }
  printf("%d",count);
  return 0;
}

2 设计思路:

1)定义一个n,利用循环寻找n=250,当n=250时停止输入,count初始值为0,用来记录输入的第几个数是250。

2) 没输入一个值count=count+1直到n=250时。

3)输出count值。

流程图:

3.本题调试过程碰到问题及解决办法:语句的不熟练出现的一些小错误和题目中给出的是计数从1开始,就将count定义为0。

解决方案将count=0。

 

总结学习进度条:

1、总结这几周所学内容、遇到的问题以及解决方法:

这几周主要重新复习了之前讲过的知识,和一些作业题目。把while for do while语句的一些使用

例如:

(1)循环次数已知使用for循环语句实现比较好

(2)循环次数未知,但循环条件在进入循环时明确使用while循环语句实现比较好

(3)循环次数未知,且循环条件在进入循环时未知,需要在循环体中明确使用do while循环语句实现比较好

遇到的问题还是对一些作业中的题目不理解,知道可以这么做,但不知道为什么这么做,暂且的解决方法还是将题目多次拿出来看。

我点评的三名同学:

1)李锐同学:

2)杨士奇同学:

3)李睿淇同学:

 

 

 

posted on 2018-11-28 20:06  刘昱淞  阅读(270)  评论(9编辑  收藏  举报