这个作业属于哪个课程 | C语言程序设计ll |
---|---|
这个作业的要求 | (https://edu.cnblogs.com/campus/zswxy/SE2019-4) |
我在这个课程的目标 | 能够使用C语言并且灵活运用 |
这个作业在哪个具体方面帮我实现目标 | 学会使用while,do-while循环语句 |
参考文献 | 百度、C语言程序设计 |
7-1 求整数的位数及各位数字之和
数据表达:定义变量count、sum、n
数据处理:运用while循环以及+=、%等运算符
include<stdio.h>
int main(void)
{
int count,sum,n; (定义变量数字位数、各数字和、数字)
count=sum=0;
scanf("%d",&n); (输入)
while(n)
{
sum+=n%10; (计算各数字之和)
n=n/10; (除去个位)
count++; (计算位数)
}
printf("%d %d\n",count,sum); (输出)
return 0;
}
实验代码
造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
120 | 3 3 | 位数为3,各数字和为3 |
2034 | 4 9 | 位数为4,各数字和为9 |
42 | 2 6 | 位数为2,各数字和为6 |
- sum+=后面没有写导致编译错误,改为sum+=n%10
7-5 爬动的蠕虫
数据表达:定义变量n,u,d分别代表一口井的深度,上每分钟爬的高度,每分钟下滑的长度(单位寸)
数据处理:运用while循环语句,+=运算符
include<stdio.h>
int main()
{
int n,u,d; (定义深度,上爬速度,下滑的速度)
scanf("%d%d%d",&n,&u,&d); (输入)
int sum=0,t=0;
while(n)
{
sum+=u; (计算上爬距离)
t++; (计算时间)
if(sum>=n) (爬出井)
break; (跳出)
sum=sum-d; (下滑后距离)
t++; (计算时间)
}
printf("%d\n",t); (输出)
return 0;
}
实验代码
造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
12 3 1 | 11 | 虫子需要爬11分钟 |
15 5 2 | 10 | 虫子需要爬10分钟 |
16 5 1 | 8 | 虫子需要爬8分钟 |
*if(sum>=n)没有加等于导致部分正确
代码互评
我的代码
同学的代码
- 我使用的是if语句来表示题目士兵的条件
- 同学直接用在while条件中给出条件
- 我使用的是for与if嵌套,同学只用了while循环语句
我的代码
同学的代码
- 我们都用了while里面加if的语句但是往往只有一个if语句
等于0时输出表达的方式不一样
学习总结
周/星期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题 第八周 9h 270 for循环语句 小数点位数的保留 第九周 13h 400 自定义函数 表格和图的一些格式问题 第十周 12h 550 多分支else-if以及字符型 一些字符型表示的运算 第十一周 11h 680 switch语句 返回值被忽略的问题 第十二周 13.5h 815 while、do-while循环语句 while、do-while循环语句与某些数学问题的结合使用
1.这次进一步学习了while和都-while语句,未明确循环次数一般不用for语句
2.do-while无论如何都活执行一次
3.巩固各种学过的语句嵌套使用
4.遇到一些题开始会难以有明确思路
思维导图