C语言I博客作业08

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业08
我在这个课程的目标是 学习并运用好while语句和do while语句
这个作业在那个具体方面帮助我实现目标 在对PTA中的题目的理解与运用上和对同学代码的互评上可以帮助我
参考文献 百度百科

1.PTA实验作业

1.1 求整数的位数及各位数字之和

对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过10
​9
​​的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6

1.1.1数据处理

数据表达:定义了整型变量N, a, i = 0, sum = 0;
数据处理: 伪代码展示

include<stdio.h>

int main(void)
{
定义整型变量 N, a, i=0, sum=0;
输入要正整数N;
将N赋值与a;
while(a){
sum = sum + a % 10; 求sum加上a除以10的余数
a = a / 10; 求a除以10后的数
i++; 累加出a的位数
}
输出求出的位数i和各位数的和;
return 0;
}

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
321 3 6 三位数 三加二加一等于6
0618 4 15 四位数 零加六加一加八等于15
0728 4 17 四位数 零加七加二加八等于17

1.1.4 PTA提交列表及说明


答案正确:由于在vs上提前写了,所以就没出现错误。

1.2 韩信点兵

在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
输入格式:
本题无输入
输出格式:
输出韩信至少拥有的士兵人数

1.2.1 数据处理

数据表达:定义整型变量 i = 1;
数据处理:伪代码展示:

include<stdio.h>

int main(void)
{
定义i=1;
while(i)
{
如果(i除以5的余数等于1且i除以6的余数等于5且i除以7的余数等于4且i除以11的余数等于10)
{
输出i;
跳出;
}
否则
i进行累加;
}
return 0;
}

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
2111 韩信的军队共2111人

1.2.4 PTA提交列表及说明


编译错误:开始在vs上打得scanf_s,忘记改过来了

2.代码互评

同学代码截图:


我的代码截图:

1, 首先他定义的变量与我差不多,这都没什么本质区别
2,不同的是,他用的是do while语句,我觉得直接用while可能更简洁一些,不过他的也很全面
同学代码截图:


我的代码截图:

1,第一位同学的代码将不满足题目条件的作为while语句的表达式,而我的与他不一样,我是用的变量i,可能他的更加简洁一点
2,第二位同学的代码用的for循环语句,和我相同的是都有在循环语句中嵌入if分支语句

3.学习总结

3.1 学习进度条

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

这一周学习的是while,do-while从句,而在做题中却往往不止这么简单,用到了一些嵌入式语句,还有字符型变量,感觉pta里的题目越来越难了,应该是我的基础还是不够稳固,还是要多多温习啊,抓紧时间继续冲!

原文地址:https://www.cnblogs.com/FluoxetineX/p/11869785.html