实验三

一,判断三角形
#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)
        printf("构成等边三角形\n");
        else if(a==b || a==c || b==c)
        printf("构成等腰三角形\n");
        else 
        printf("构成一般三角形\n");
    }
    else
    printf("不构成三角形\n");
    return 0;
}

 

 

 

#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;
}
    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 || b==c)
        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;
    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;
    for(i=1;i<=5;i++){
        if(i%3==0)
        continue;
        printf("i=%d\n", i);
    }
    return 0;
}

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

由此可知break语句是结束本层所有循环,而continue语句是结束本次循环并开始新一轮循环,并不结束本层所有循环

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

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

由以上两个源代码运行结果可知break和continue语句在嵌套的循环语句中出现时,内层循环中的两语句不会影响外层循环的进行

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

编程输出101-200之间的素数,并输出这一区间的素数个数

 

#include<stdio.h>
int main(){
    int i,j,k;
    int count =0;
    for(i=101;i<=200;i++){
      for(j=2;j<i;j++){
          if(i%j==0)
          break;
      }    
      if(j>=i){
      printf("%5d",i);
      count++;
      if(count%5==0)
      printf("\n");
    }
    if(j>=i)
    k++;
    
}
  printf("\n"); 
  printf("从101-200之间的素数个数为%d个",k);
  return 0;
    }    

这道题因为有好多层循环,把我搞蒙了,一开始的时候括号没打对一直只出101就没有了。。。。在崩溃的边缘试探了好久才对。

图案

 

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

    return 0;   
}

这次的实验是做的最认真的一次,中间也出现过很多问题,比如中文输入法下输入符号,嵌套循环括号打错等等,说明还是写的不够。另外对一些知识掌握的不好,还需要多复习前面的内容

评论链接

https://www.cnblogs.com/Lyrue/p/10712669.html

https://www.cnblogs.com/parzival/p/10714118.html

https://www.cnblogs.com/96ldc/p/10711848.html

posted @ 2019-04-14 17:25  zzzzzzf  阅读(119)  评论(1)    收藏  举报