C语言基础第五次作业

7-1 判断素数

1.实验代码

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main(void)
 4 {
 5     int n, i, sushu;
 6            int x;
 7     scanf("%d", &n);
 8     while(n--)
 9     {
10         scanf("%d", &x);
11         sushu = 1;
12         for(i = 2; i <= sqrt(x); i++){
13             if(x % i == 0){
14                 sushu = 0;
15                 break;
16             }
17         }
18         if(x == 1 ||sushu== 0)
19             printf("No\n");
20         else
21             printf("Yes\n");
22     }
23     return 0;
24 }

2.设计思路

(1)文字描述

第一步:判断一个数是否为素数,首先我们需要知道素数的定义:对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么它是一个素数。

第二步:可以使用while 循环,加入中间变量sushu   控制输出的结果

(2)流程图

3.本题调试过程碰到问题及解决办法

问题及解决办法:编译正确但是在运行是输入数字,输出的结果并不对,检查过后,原来是逻辑上出了问题,18行if条件里的应该是或者 我打成和了,导致最终输出的结果并不对。改正后能正常输出正确结果了。

7-2 统计一行文本的单词个数 
1.实验代码
 1 #include<stdio.h>
 2 int main(){
 3     char c,s[1000];
 4     int i,count=0,number=0;
 5     gets(s);
 6     for(i=0;;i++)
 7     {
 8         c = s[i];
 9         if(c=='\0')
10             break;
11         if(c==' ')number=0;
12         else if(number == 0)
13         {
14             number = 1;
15             count++;
16         }
17     }
18     printf("%d",count);
19  
20     return 0;
21 }

2.设计思路

(1)文字描述

第一步:定义主函数,定义变量c与数组s,整型变量n, count,number

第二步:利用for循环,break,break控制输出。

(2)流程图

3.本题调试过程碰到问题及解决办法

 

 问题及解决办法:第一个问题就是没有注意到for语句中应该有三个语句,我的错误是有两个语句,但是尽管这样,还是要打两个分号。第二个问题是11行中if语句中C==后中的单引号里应该有一个字符,我打了两个字符,结果报错了,改正后正常运行。

 二、总结和学习进度条 

1. 总结:通过这几周的学习,渐渐觉得C语言越来越不是那么陌生了,二维数组,字符数组,第一开始感觉不是很清晰,但是回去学习书上资料和课后习题后,感觉好多了。

2.点评3个同学的本周作业 

 姚征兵的第五次C语言基础作业

于海龙的第五次C语言基础作业

郭涵的第五次C语言基础作业

3、请用表格和折线图呈现你这几周的代码行数和时间、博客字数和时间、涉及的知识点。

 

posted @ 2018-12-23 17:16  shanglize  阅读(243)  评论(4编辑  收藏  举报