第五次作业
7-1代码如下
#include <stdio.h> int main() { int n, i, flag; int x; scanf("%d", &n); while(n--) { scanf("%d", &x); flag = 1; for(i = 2; i <= sqrt(x); i++) { if(x % i == 0) { flag = 0; break; } } if(x == 1 || flag == 0) printf("No\n"); else printf("Yes\n"); } return 0; }
1首先定义整型数据n,i,flag,整型变量x;
2利用scanf函数输入整型数据n进行输入;
3用while函数与n控制外层循环,n代表判断素数的个数;
4在每次循环中输入判断的长整型数据x;
5另flag=1;且利用for循环使i满足与sqrt(x)之间的关系;
6if语句若x%i余数为0,则另flag=0,break退出循环;
7若退出循环后,x=1,或flag=0,则输出no;
8反之输出yes
9最后返回0,结束该程序;
流程图如下:
调试如下
scanf输入x应在循环结构之内,纠正后得到正确结果。
7-2代码如下:
#include<stdio.h> int main(){ char c,s[1000]; int i,count=0,number=0; gets(s); for(i=0;;i++) { c = s[i]; if(c=='\0') break; if(c==' ')number=0; else if(number == 0) { number = 1; count++; } } printf("%d",count); return 0; }
1首先定义一个字符型变量c与字符型数组s;
2定义整型变量i,count=0,number=0;
3利用无限循环;;与break控制循环退出
4c=‘ ’时令number=0近而使count++实行计数
5输出count的数值
6返回0结束
流程图如下:
调试过程:该程序涉及到数组知识和符号经过网络查询完成该程序
将程序中的;改为;;使程序为break单出口。
总结: 经过近几周的不断学习,我们了解了函数,与数组,接触到C语言新的层面,虽然
这过程中有很多的困难,但在老师的帮助下,不断弄懂数组,逐步应用数组到程序中来,
虽然目前仍然不够熟悉,但一定会越做越好,达到熟练的地步。