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

实验三

时间:2019-04-15 23:30:26      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:验证   number   整型   clu   出现   img   成绩   之间   def   

Part1.验证性内容

a.在键盘上输入三个数,判断能够成何种三角形。

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

技术图片

技术图片

技术图片

技术图片

使用while语句

#include <stdio.h>
int main(){
double a,b ,c;
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;
}

技术图片

使用scanf()函数输入一个百分制成绩,要求输出成绩等级为A,B,C,D,E。

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

技术图片

用switch语句改写上述程序

#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;
        }
    switch(score/10){
        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;
}

技术图片

对比continue和break的功能

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

技术图片

思考:在循环中使用控制语句和continue和break,其功能区别是什么?

使用continue会跳过本层循环,并开始下一轮循环;而break语句则直接跳出循环。

 

 

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

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

技术图片

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

技术图片

思考

1.在两层嵌套循环中,内层循环中如果出现continue,是否影响外层循环?

不影响

2.在两层嵌套循环中,内层循环中如果出现break,是否影响外层循环?

不影响

Part 2.补足程序,使得程序运行

编程中找出五个整数中的最大数和最小数,并输出找出的最大数和最小数

#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(max<number)
max = number;
else if(min>number)
min = number;
}
}

技术图片

Part 3.

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

#include<stdio.h>
#include <math.h>
int isprime(int n)

{    //返回1表示判断为质数,0为非质数,在此没有进行输入异常检测

    float n_sqrt;

    if(n==2 || n==3) return 1;

    if(n%6!=1 && n%6!=5) return 0;

    n_sqrt=floor(sqrt((float)n));

    for(int i=5;i<=n_sqrt;i+=6)

    {

        if(n%(i)==0 | n%(i+2)==0) return 0;

    }

        return 1;

}

int main()
{
    int num=0;
    int t=0;
    int i; 
    for( i=101 ; i<=200 ; ++i )
    {
        if(isprime(i))
        {
            num++;
            printf("%2d  ",i);
            t++;
            if(t==4)
            {
                printf("\n");
                t=0;
            }
        }
    }
    return 0;
 } 

技术图片

编程打印出如下图形

#include<stdio.h>          /*输入输出头文件*/
int main()          /*空类型:主函数*/
{
    int a,b;          /*定义变量的数据类型为整型*/
    for(a=0;a<=4;a++)         /*确定行数*/
    {
        for(b=4-a;b>=0;b--)         /*确定空格数量*/
            printf(" ");
        for(b=1;b<=a*2+1;b++)         /*确定每一行星号数量*/
            printf("*");
        printf("\n");         /*换行*/
    }
    return 0;
    
}

技术图片

 

实验三

标签:验证   number   整型   clu   出现   img   成绩   之间   def   

原文地址:https://www.cnblogs.com/kzt1121/p/10713565.html

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