作业 2 分支、循环结构

1计算各个x取值范围内,y对应的值

#include<stdio.h>
int main(void)
{
    int x,y; 

    printf("Enter x:"); /*输入x的值*/
    scanf("%d",&x);
    /*根据公式和x的取值范围算出y的值*/
    if(x<0){
        printf("y=-1");
    }
    else if(x=0){
        printf("y=0");
    }
    else {
        printf("y=1");
    }
    
    return 0;
}

 

 

2.计算平均成绩,统计及格人数

#include<stdio.h>
int main(void)
{
    int count,i,num; 
    double grade,total;
    
    num=0;
    total=0;
    count=0;
    
    printf("Enter grade:\n");//输入成绩
    scanf("%Lf",&grade);
    //循环
    while(grade>=0){
        total=total+grade;
        num++;   //总分相加,便于下一步求平均值
        if(grade>=60)
            count++;  //统计及格人数
        scanf("%Lf",&grade); //输入下一个成绩,便于循环
    }
    if(num!=0){
        //输出结果
        printf("Grade average is %.2f\n",total/num);
        printf("The number of 及格人数 is %d\n",count);
    }
    else
        printf("Grade average is 0\n");
    return 0;
}

3.统计输入的十五个量分别属于的类型

#include<stdio.h>
int main(void)
{
    int blank,digit,other,letter;
    char ch;//输入字符
    int i;

    blank=digit=other=letter=0;//初始值赋值,便于下一步统计
    printf("Enter 15 个字符:");//提示输入

    for(i=1;i<=15;i++){
    ch=getchar( );
    if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))
        letter++;//统计输入字母的数量
    else if(ch>='0'&&ch<='9')
        digit++;//统计输入数字的数量
    else if(ch>=' '&&ch<=' ')
        blank++;//统计输入空格和回车键的数量
    else
        other++;//统计输入符号的数量
    }
//输出统计的数据
printf("blank=%d,digit=%d,letter=%d,other=%d\n",blank,digit,letter,other);

return 0;
}

 

4.判断输入的年份是否为闰年

#include<stdio.h>
int main(void)
{
    int i,year,n;    
    printf("Enter n:");//提示输入要判断的个数
    scanf("%d",&n);
    printf("Input -1 to quit:");//输入-1结束该程序
    scanf("%d", &year);
    
    if( year==-1 )
        return -1;
    //判断是否为闰年
    for(i=1;i<=n;i++){
        printf("输入年份:");
        scanf("%d",&year);
        if((year%4==0&&year%100!=0)||(year%400==0)){
        printf("这一年是闰年。\n");
    }
        else{
            printf("Oh NO!这一年不是闰年!!\n");
        }
    }
    
    return 0;
}

 

5.判断输入的字符属于哪个分数段

#include <stdio.h>
int main(void)
{
    char ch;
    printf("Enter grade:");
        ch=getchar();//输入字符
   //分别判断输入的字符属于哪个分数段,并输出结果,结束判断     
        switch(ch){   
        case 'A':
            printf("90-100\n");
            break;
        case 'B':
            printf("80-89\n"); 
            break;
        case 'C':
            printf("70-79\n");
            break;
        case 'D':
            printf("60-69\n");
            break;
        case 'E':
            printf("0-59\n");
            break;
        default:
            printf("Invalid input\n");
            break;
        }
        
        return 0;
}

 

 

6.输入要买的水果,得出其报价

#include<stdio.h>
int main(void)
{
    int choice,i;
    double price;//价格为浮点型
    for(i=1;i<=5;i++){
        //输出菜单,供选择
        printf("[1]select apples\n");
        printf("[2]select pears\n");
        printf("[3]select oranges\n");
        printf("[4]select grapes\n");
        printf("[0]select Exit\n");
        printf("Enter choice:");
        scanf("%d",&choice);//输入选项
        if(choice==0)//判断输入是否为0
            break;
        //分别带入所输入的选项对应的价格
            switch(choice){
            case 1:price= 3.00;break;
            case 2:price=2.50;break; 
            case 3:price=4.10;break; 
            case 4:price=10.20;break;
            default:price=0.00;break;//如果输入的不为菜单选项的任何值,则显示价格为0
            }
            printf("price=%0.2f\n",price);//输出对应选项的价格
        }
        printf("Thanks\n");//输出问候语
        return 0;
    }

 

心得:表示写菜单的时候,写好一个菜单之后复制修改成其他几个菜单是非常愉快的,不用一个个辛酸打出来真是极好的,让我一下子把书啃掉还是没有做到,一些术语还是迷茫状态。这次实验很大部分参照类似例题。所以,没有书本翻开看的话,估计活不成了。再接再厉==、

 11.03

注释修改完毕==、 写注释都是按照自己的想法写的,没有一点专业性。题目是自己看了程序按自己理解写的。因为觉得再去找程序的题目复制粘贴反而麻烦。不如靠自己理解。

 

posted @ 2013-10-19 23:57  豆沙。  阅读(170)  评论(3编辑  收藏  举报