第三次上机实验

part1:continue语句是在条件符合时跳过这一次循环,不输出这次内容,且重新开始新一轮循环;

          break语句是在条件符合时结束整个循环,不输出这次循环内容,结束所在循环体。

         两层嵌套循环中,内层循环出现continue与break均不影响外层循环。

part2:附上源代码

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

附上运行截图:

附上do...while语句源代码:

#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:

附上问题1源代码:

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

附上运行结果截图:

附上第二道练习题:

#include<stdio.h>;
const int N=5;
const int C=9;
int main(){
    int line,col,a,b;
        for(line=1;line<=5;++line){
            a=6-line;
            b=4+line;
            for(col=1;col<=9;++col){
                if(a>col||b<col){
                    printf(" ");
                    continue;
                }
                 printf("*");
            }
             printf("\n");
        }
    return 0;
}

附上运行结果:

实验总结:花费时间较多的还是part3,part3第一题需要清晰的逻辑;第二题的收获主要两个:①输出空格是printf(" "),两个双引号之间要有个空格;②printf("*"),应在if语句的外面,没有if语句,那么5行9列全是"*",if用于筛选出补空格的地方,continue则跳过输出"*",保证空格的输出。

猜你喜欢

转载自www.cnblogs.com/yuan82/p/10704352.html
今日推荐