首页 > 其他 > 详细

实验三

时间:2019-04-14 10:04:19      阅读:100      评论:0      收藏:0      [点我收藏+]

Part1: 验证性内容

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

demo5_1

#include <stdio.h>
int main() {
    int i;
    for(i=1; i<=5; i++) {
        if (i%3 == 0) 
        continue;
        printf("i=%d\n",i);
    }
    return 0;
}

运行结果:

技术分享图片

demo5_2

#include <stdio.h>
int main() {
    int i;
    for(i=1; i<=5; i++) {
        if (i%3 == 0) 
        break;
        printf("i=%d\n",i);
    }
    return 0;
}

运行结果:

技术分享图片

continue:结束本次循环,进入下一次循环。

break:结束本层循环。

分别运行程序demo6_1.cpp和demo6_2.cpp,结合运行结果,对比和理解在嵌套的循环中控制语句。

demo6_1

#include<stdio.h>
const int LINE=3;
const int COLUME=5;

int main(){
    int line;
    int col;
    
    for(line=1;line<=LINE;line++){
        for(col=1;col<=COLUME;col++){
            if(col%3==0)
            continue;
            
            printf("%5d",col);
        }
        printf("\n");
    }
    return 0;
}

 运行结果:

技术分享图片

 demo6_2

#include<stdio.h>
const int LINE=3;
const int COLUME=5;

int main(){
    int line;
    int col;
    
    for(line=1;line<=LINE;line++){
        for(col=1;col<=COLUME;col++){
            if(col%3==0)
            break;
            
            printf("%5d",col);
        }
        printf("\n");
    }
    return 0;
}

运行结果:

技术分享图片

在两层嵌套循环中,内层循环中如果出现continue或break,都不影响外层循环。

 

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<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;
}

运行结果:

技术分享图片

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;
}

运行结果:

技术分享图片

 

Part3:编程练习

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

#include<stdio.h>
#include<math.h>
int main(){
    int n,m,i,k=0;
    for(n=101;n<=200;n++){
        m=sqrt(n);
        for(i=2;i<=m;i++){
            if(n%i==0)break;
        }
        if(i>m)
        printf("%5d",n);
        else
        continue;
        k++;
        if(k%5==0)
        printf("\n");
    }
    printf("\n101~200之间共有%d个素数.",k);
    return 0;
}

运行结果:

技术分享图片

编程打印输出如下图案。

#include<stdio.h>
const int LINE=5;

int main(){
    int line,m,n,a,b;
    for(line=1;line<=5;line++){
        m=5-line;
        n=2*line-1;
        for(a=1;a<=m;a++)
        printf(" ");
        for(b=1;b<=n;b++)
        printf("*");
        printf("\n");
    }
    return 0;
}

运行结果:

技术分享图片

 

实验总结与体会:

这次试验比前两次难一些,也借此机会对循环结构有了更深入的了解。三种循环设置条件的时候略有不同,还是需要多试来掌握规律。

找素数的那道题参考了书上判别素数的方法,但还是在循环的语句上摸索了挺久的,好在最后运行出了正确的结果,还是很开心的。

学到的东西越来越多了,希望自己可以抽出更多时间来练习和熟悉它们。

实验三

原文:https://www.cnblogs.com/celan/p/10703675.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!