(要求一)作业要求:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503
(要求二)PTA作业:
函数:1实验代码:
int max( int a, int b ) { int result; if(a>b) { result=a; }else { result=b; } return result; }
2 解题思路:
(1)一般遇到比较两个数的大小并找出最大值或最小值的问题时,思路是定义一个变量去做替换。
第一步:定义一个result来存储最大值。
第二步:返回到result进行输出。
(2)流程图
3.本题调试过程碰到问题及解决办法:
数组1:7-2 输出数组元素
1.实验代码
#includemain() { int a[10], b[10], i, j, n, count = 0; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } for (j = 0; j < n - 1; j++) { b[j] = a[count + 1] - a[count]; count++; } count = 0; for (j = 0; j < n - 1; j++) { if (j == 0) { printf("%d", b[0]); } else if (count == 3) { printf("\n"); printf("%d",b[j]); count = 0; } else { printf(" %d", b[j]); } count++; } }
2.解题思路
(1)第一步:定义两个数组分别存储输入的n个数的值和每个数减去前一项的差。
第二步:定义一个count对做差数组中数量进行计算,每满三个则继续在下一行输出。
(2)流程图
3 这个最关建的在于如何把换行和空格协调好,用一个 if()语句判断 是否出换行和空格
结尾空格的解决;
数组2
1.实验代码
#include#include int main() { int m=0,n,i,j; int max; int b[1000]={0}; scanf("%d",&n); int a[n]; for(i=0;i ) { scanf(" %d",&a[i]); } for(i=0;i //用数组b来存放数组a中的每一个数的出现次数,数组b的次数与数组a的数字对应 { for(j=0;j ) { if(a[i]==a[j]) { b[m]++; } } m++; } max=0;//在数组b找出最大的次数,这个次数的下标对应数组a的数 for(i=0;i ) { if(b[max]<b[i]) { max=i; } } printf("%d %d\n",a[max],b[max]); system("pause"); return 0; }
2.解题思路
(1)第一步:定义两个数组,一个数组存储字数,另一个数组存储重复字数。
第二步:用双重循环求重复次数。
第三步:输出重复字数的下标,也是该数字的下标。
(2)第二步:流程图
3 遇到的问题及解决方法
(要求三)
个人总结
(1)最近几周学了定义及引用函数,数组。我感觉到了以前学习中的不足,以前只是课上学,课下接触的少,现在我感觉课下的学习也十分重要,对于课上没理解的问题,在课下通过查找资料,还有在慕课网上观看翁凯老师的视频有了一些小收获。
(2)我感觉最近学习最难的地方就是数组和对程序进行调试不了解步骤,关于数组一开始只知道可以对输入的值做存储,并没深入了解。我在网上查找了多篇程序高手博客,慢慢的弄懂了,也问了周围会的同学。
要求四
1点评3个同学的本周作业
梁德辉同学的作业https://www.cnblogs.com/wsaldh/p/10127051.html
梁宇同学的作业https://www.cnblogs.com/liangyu59/p/10139173.html
孟琛博奥同学的作业https://www.cnblogs.com/mcba22/p/10133371.html
2