第五次作业

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语言新的层面,虽然

这过程中有很多的困难,但在老师的帮助下,不断弄懂数组,逐步应用数组到程序中来,

虽然目前仍然不够熟悉,但一定会越做越好,达到熟练的地步。

王肖的超链接    王强超链接    陈禹翰的超链接

 

posted @ 2018-12-20 18:34  于海龙-  阅读(239)  评论(5编辑  收藏  举报