码迷,mamicode.com
首页 > 其他好文 > 详细

第三次实验

时间:2019-04-16 01:02:35      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:min   logs   三次   www   一次循环   影响   max   alt   利用   

part1

#include <stdio.h>
 int main() {
     double a,b,c;
     scanf("%lf %lf %lf", &a, &b, &c);

     if(a+b>c && a+c>b && b+c>a) {
         if(a==b || a==c || b==c) {
             if (a==b && a==c)
                 printf("构成等边三角形\n");
             else
                 printf("构成等腰三角形\n");
         }
         else
             printf("构成一般三角形\n");
     }
     else
         printf("不能构成三角形\n");

     return 0;
 } 

技术图片

插入循环语句

 #include <stdio.h>
 int main() {
     double a,b,c;
     printf("输入三角形三边:\n");
     
     while(scanf("%lf%lf%lf",&a,&b,&c)) {
         if(a+b>c && a+c>b && b+c>a) {
             if(a==b && a==c)   
                 printf("构成等边三角形\n");
             else if(a==b || a==c || b==c)   
                 printf("构成等腰三角形\n");    
             else
                 printf("构成一般三角形\n");
         }
         else
             printf("不能构成三角形\n");
             
         printf("\n输入三角形三边:\n");
    }    
    
     return 0;
 } 

技术图片

输入百分制分数,测算并输出等级制分数

#include <stdio.h>
 int main() {
     int score;     // 用于存放百分制分数 
     char grade;  // 用于存放等级制分数(取值‘A‘, ‘B‘,‘C‘,‘D‘, ‘E‘) 
    
    while(1) {
        printf("输入学生成绩: ");
        if(scanf("%d",&score) == 0)  // 如果检测到没有成绩输入,则结束整个循环 
            break; 
            
        if(score<0 || score > 100) {
            printf("输入成绩有误!\n\n");
            continue;    // 结束本次循环,开始下一次循环 
        }
    
        switch(score/10) {   // 使用switch进行分数等级判断 
            case 10:
            case 9:        grade=A; break;
            case 8:        grade=B; break;
            case 7:        grade=C; break;
            case 6:        grade=D; break;
            default:    grade=E;
        }
        
        printf("等级为: %c\n\n", grade);
    }
    return 0;            
}
    

技术图片

用switch语句改写


 

#include <stdio.h>
 int main() {
     int score;     // 用于存放百分制分数 
     char grade;  // 用于存放等级制分数(取值‘A‘, ‘B‘,‘C‘,‘D‘, ‘E‘) 
    
    while(1) {
        printf("输入学生成绩: ");
        if(scanf("%d",&score) == 0)  // 如果检测到没有成绩输入,则结束整个循环 
            break; 
            
        if(score<0 || score > 100) {
            printf("输入成绩有误!\n\n");
            continue;    // 结束本次循环,开始下一次循环 
        }
        else if(score>=90 && score<=100)
            grade = A;
        else if(score>=80 && score<=89)
            grade = B;
        else if(score>=70 && score<=79)
            grade = C;
        else if(score>=60 && score <=69)
            grade = D;
        else
            grade = E;
            
        printf("等级为: %c\n\n", grade);
    }
    
     return 0;
 } 

技术图片

关于break和continue功能的比较

#include <stdio.h>
int main() {
    int i;
    
    // 在循环语句中使用continue 
    for(i=1; i<=5; i++) {
        if (i%3 == 0)  // 如果i是3的倍数,则结束本次循环,开始下一次循环 
            continue;
        
        printf("i=%d\n",i);
    }
    
    return 0;
} 

技术图片

#include <stdio.h>
int main() {
    int i;
    
    // 在循环语句中使用break
    for(i=1; i<=5; i++) {
        if (i%3 == 0)  // 如果i是3的倍数,则结束整个循环 
            break;
        
        printf("i=%d\n",i);
    }
    
    return 0;
} 

技术图片

比较:continue是结束当前循环,开始新的循环

           break是跳出循环并终止循环。

嵌套循环

#include <stdio.h>
const int LINE=3;        // 定义符号常量LINE 
const int COLUME=5;        // 定义符号常量COLUME

int main() {
    int line;    // 定义变量line, 用来控制行数 
    int col;     // 定义变量col, 用来控制列数
    
    // 输出LINE行信息 
    for(line=1; line<=LINE; line++) {
        // 每一行中,利用循环,输出各列信息 
        for(col=1; col<=COLUME; col++) {
            if(col%3 == 0)  // 如果col是3的倍数,则结束内层循环体 
                break;
            
            printf("%5d", col);
        }
        
        printf("\n"); // 每输出完一行,换行 
    }
     
    return 0;
} 

技术图片

#include <stdio.h>
const int LINE=3;        // 定义符号常量LINE 
const int COLUME=5;        // 定义符号常量COLUME

int main() {
    int line;    // 定义变量line, 用来控制行数 
    int col;     // 定义变量col, 用来控制列数
    
    // 输出LINE行信息 
    for(line=1; line<=LINE; line++) {
        // 每一行中,利用循环,输出各列信息 
        for(col=1; col<=COLUME; col++) {
            if(col%3 == 0)  // 如果col是3的倍数,则结束本次循环,开始下一次循环 
                continue;
            
            printf("%5d", col);    
        }
        
        printf("\n"); // 每输出完一行,换行 
    }
     
    return 0;
} 

技术图片

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

part2  补足程序

#include<stdio.h>
int main(){
    int number,max,min,n;
    n=1;
    printf("输入第%d个数\n",n);
    scanf("%d",&number);
    max=number;
    min=number;
    while(n<5){
        n++;
        printf("输入第%d个数\n",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

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

技术图片

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

技术图片

评论;https://www.cnblogs.com/zpy73363668/p/10706896.html

https://www.cnblogs.com/254729wjl/p/10705921.html

https://www.cnblogs.com/zhaoyingshan/p/10704701.html

 

第三次实验

标签:min   logs   三次   www   一次循环   影响   max   alt   利用   

原文地址:https://www.cnblogs.com/mjc217/p/10714147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!