C语言基础课第五次作业
7-1 判断素数
1.实验代码
#include<stdio.h> #include<math.h> int main() { int i, N, m, q; scanf("%d", &N); for(q=1; q<=N; q++){ scanf("%d", &m); for(i=2; i<=sqrt(m); i++) if(m % i == 0) break; if(i>sqrt(m) && m !=1) printf("Yes\n"); else printf("No\n"); } return 0; }
2.设计思路
(1)文字描述
第一步:定义整形变量i,n,m,q,在循环中设置判断素数方法
第二步:输出yes或no为判断结果
(2)流程图
3.本题调试过程遇到的问题及解决办法
错误:在编程过程中不小心把输入法弄错,而英文中的分号与汉语中的不同,导致程序无法正常运行。
改正:调整输入法。
7-3 交换最大值最小值
1.实验代码
#include <stdio.h> main() { int n,i,a[10],c,d,min,max,j,e; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } min=max=a[0]; for(i=0;i<n;i++) { if(a[i]<=min) { min=a[i]; j=i; } } c=a[0]; a[0]=min; a[j]=c; for(i=0;i<n;i++) { if(a[i]>=max) { max=a[i]; j=i; } } d=max; a[j]=a[n-1]; a[n-1]=d; for(i=0;i<n;i++) printf("%d ",a[i]); }
2.设计思路
(1)文字描述
第一步:先定义变量,用i作为寻找N个数的中的最大值最小值的下标,min为最小值的载体,max为最大值的载体,用q作中间变量承载最大值最小值下标的转换
第二步:根据找到的最大值和最小值与已经保存的下表进行位置调换,结束程序。
(2)流程图
3.本题调试过程遇到的问题及解决办法
错误:for循环语句中的句末的括号被马虎忘记。
改正:重新打上括号。
二、总结和学习进度条
1、总结这几周所学内容、遇到的问题以及解决方法。
这几周学习了二维数组、字符数组等数组方面的知识,难度相对变大,也更不易理解,但是熟能生巧,相信课后的反复练习会让我慢慢掌握它。
2、点评同学:季琦https://www.cnblogs.com/jqgcm/p/10152153.html
肖晨东https://www.cnblogs.com/xcd5809/p/10090514.html
李呈祥https://www.cnblogs.com/cappuccino-lcx/p/10151619.html
3、请用表格和折线图呈现你这几周的代码行数和时间、博客字数和时间、涉及的知识点。