第一次作业
一.分支结构7--8计算个人所得税
1.实验代码:
#include <stdio.h>
int main()
{
double a,b,c;
scanf("%lf",&a);
if(a<=1600)
{
c=0;
goto aaa;
}
else if(a>1600&&a<=2500)
b=0.05;
else if(a>2500&&a<=3500)
b=0.1;
else if(a>3500&&a<=4500)
b=0.15;
else
b=0.2;
c=b*(a-1600);
aaa:
printf("%.2f",c);
return 0;
}
2.设计思路
(1):先打出大的框架
(2):想想要定义那些变量,然后需要输入那些变量
(3):再用if循环打出代码
3.本题调试过程中碰到的问题及解决办法
(1):部分正确是因为一开始把if循环的条件语句写错了,即在写a的范围时且我只用了一个&;
(2):在最后输出结果的时候,printf里保留位数时弄错了。printf(“%f”)我直接就用了%f,没有注意到题目要求保留两位小数。
(3):解决办法:我让我的室友帮我检查,一开始他们也没有看出来,然后把我的代码跟他们的代码进行比较就知道我错在哪了。
二.循环一 7--1统计学生平均成绩与及格人数
1.实验代码
#include<stdio.h>
int main()
{
int n,i,a,count=0,sum=0; /
double average;
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++;
}
average =1.0* sum / n;
printf("average = %.1f\n",average);
printf("count = %d\n",count);
}
return 0;
}
}2.设计思路:
(1):定义变量,
(2):设计代码
3.遇到的问题及解决办法
一开始在定义变量的时候没有注意道平均数可以是小数,就用了int来定义,在最后代值的时候发现答案部分正确,然后我在devc++上编译的时候没错但是结果不一样,我就知道应该是数的类型错了。
三。循环二中的 7-1 找出最小值
1.实验代码
# include <stdio.h>
int main (void)
{
int n, num;
int min, i;
scanf("%d", &n);
scanf("%d" , &num);
min = num;
for(i = 1; i < n; i ++)
{
if(min > num)
{
min = num;
}
scanf("%d", &num);
}
printf("min = %d", min);
return 0;
}
2设计思路
3.遇到的问题及解决办法
这个题格式错误了很多次,pta上对空格有要求,这个一开始很难发现,在dev c++没错就以为是对的,但是这上面不是编译错误就是格式错误。
四、总结和学习进度条
1.总结这几周所学内容、遇到的问题以及解决方法
(1)学习内容:for循环,while循环,do--while循环,指针,定义函数。还有好多例题。什么数字金字塔,猜数游戏等等好多。
(2)遇到的问题:讲的基本知识我基本上都知道了,几个循环该注意到的细节现在通过几次作业也都知道了。但是做题目的时候觉得很难,就是思路很迷茫,需要问问别人。感觉学起来好吃力。
3)解决方法:我打算在寒假的时候去报个补习班再把C语言学学,然后中国大学mooc上的课件也会看。
2、点评
刘鸿博 https://www.cnblogs.com/lz66/p/10032526.html#41
刘煜淞 https://www.cnblogs.com/max244187/p/10003330.html#412600326000
袁潮 https://www.cnblogs.com/123yuan/p/10033590.html#4126009