实验三

 

Part1: 验证性内容

*分别运行程序demo5_1.cpp和demo5_2.cpp,结合运行结果,对比和理解控制语句continue和break的功 能。 源码文件demo5_1.cpp及运行结果:

break语句

                                 

continue语句

           

 

 

1.break语句可以用在switch语句中,可以用在循环,可以跳出本层循环;break之后的语句不会执行

2.continue语句不能用于switch语句中,只能用在循环语句中,退出本次循环,直接进入下一次循环,continue之后的语句不会执行。

 

 

*对比和理解在嵌套的循环中控制语句 continue和break的

continue

                           

break

                       

由运行结果可知,两者只分别结束和跳过了内层循环,都是三行,未曾影响外层循环。

内层循环中如果出现break和continue都不影响外层循环。

 

Part2: 补足程序,使得程序运行 编程找出5个整数中的大数和小数,并输出找出的大数和小数。

补足后的程序以及运行结果:

#include <stdio.h>
int main() {
    int number, max, min, n;
    
    n=1;
    printf("输入第%d个数: ", n);
    scanf("%d", &number);
    
    max = number;
    min = number;
    
    while(n<=4) {
        n++;
        printf("输入第%d个数: ", n);
        scanf("%d", &number);
        
        if(number>max)
            max = number;
        else if(number<min)
            min = number;
    }
    
    printf("最大数为: %d\n", max);
    printf("最小数为: %d\n", min);
    
    return 0;
} 
 

 

尝试用for语句改写

#include <stdio.h>
int main() {
    int number, max, min, n;
    
    n=1;
    printf("输入第%d个数: ", n);
    scanf("%d", &number);
    
    max = number;
    min = number;
    
    for(n=2;n<=5;n++) 
        {
        printf("输入第%d个数: ", n);
        scanf("%d", &number);
        
        if(number>max)
            max = number;
        else if(number<min)
            min = number;
    }
    
    printf("最大数为: %d\n", max);
    printf("最小数为: %d\n", min);
    
    return 0;
} 

 

*尝试用do while改写

#include <stdio.h>
int main() {
    int number, max, min, n;
    
    n=1;
    printf("输入第%d个数: ", n);
    scanf("%d", &number);
    
    max = number;
    min = number;
    
     
        do{
        printf("输入第%d个数: ", n);
        scanf("%d", &number);
        n++;
        
        if(number>max)
            max = number;
        else if(number<min)
            min = number;
    }
    while(n<=5);
    printf("最大数为: %d\n", max);
    printf("最小数为: %d\n", min);
    
    return 0;
} 
 

while()加分号,for注意{}

 

Part3:编程练习

1.编程输出101~200之间所有素数,并输出这一区间内素数个数。 

#include<stdio.h>
#include<math.h>

int main(){
    int a,c,d;
    
    for(a=100;a<=200;a++)
{
    for(c=2;c<=sqrt(a);c++)
{    
    if(a%c==0)
    {break;}
}
     if(c>sqrt(a))
    printf("%4d",a);
    
}
    


    return 0;
} 

一开始我用b=sqrt(a),始终输出的为100-200所有数,开完根号的不一定是整数,而int b为整数

 

2.编程打印输出图案

#include<stdio.h>
int main()
{
    int i,j,n,q;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=5-i;j++)
        {
            printf(" ");
        }
        for(n=1;n<=2*i-1;n++)
        {
            printf("*");
        }
        for(q=1;q<=i;q++)
        {
            printf(" "); 
        }
        printf("\n");
        
    }
    
    return 0;
}

一开始想了很久怎么输出空格,后来发现直接printf(" ")就可以了

 

总结

对循环嵌套语句的使用和规范有待加强,要培养自己独立思考算法的能力

 

实验二评论地址:

https://www.cnblogs.com/NyaNyaGoose/p/10640071.html

https://www.cnblogs.com/neorenaissance/p/10646115.html

https://www.cnblogs.com/astraeus/p/10612403.html

 

 

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

posted @ 2019-04-13 15:55  奥利奥利奥qxy  阅读(140)  评论(3编辑  收藏  举报