作业 3 利用分支和循环结构解决问题

1、输入一个整数x,计算分段函数。

/*计算分段函数*/
#include<stdio.h>
int main()
{
    float x=0,y=0;
    printf("请输入x:");
    scanf("%f",&x);
    if(x>0)
        y=1;
    else if(x==0)
        y=0;
    else
        y=-1;
    printf("当x=%f时,y=%f
",x,y);
    return 0;
}


 

2、输入正整数n和成绩,计算学生平均分和及格人数。

#include<stdio.h>
int main(void)
{
    int count,i,n;
    double grade,total;

    printf("Enter n:");
    scanf("%d",&n);
    total=0;
    count=0;
    for(i=1;i<=n;i++){
        printf("Enter grade#%d:
",i);
        scanf("lf",&grade);
        total=total+grade;
        if(grade>=60){
            count++;
        }
    }
    printf("Grade average=%.2f
",total/n);
    printf("Number of failures=%d
",count);

    return 0;
}

3、统计字母,空格,字符和其他字符。

#include<stdio.h>
int main(void)
{
    int digit,letter,other;
    char ch;
    int i;
    digit=letter=other=0;
    printf("Enter 15 characters:");
    for(i=1;i<=10;i++){
        ch=getchar();
        if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
            letter++;
        else if(ch>='0'&&ch<='14')
            digit++;
        else
            other++;
    }
    printf("letter=%d,digit=%d,other=%d
",letter,digit,other);

    return 0;
}


4、输入年份,判断是否为闰年。

#include<stdio.h>
int main(void)
{
    int n,year;
    printf("Enter a year: ");
    scanf("%d",&year);
    for(year++)
        if(year%100==n){
            printf("-1
");
            break;
        }
        if(year%100!=n && year%4=n && year%400=n)
            printf("%d 是闰年。
",year);
        else
            printf("-1
");

    return 0;
}

5、输入五级制成绩(A-E)。

#include<stdio.h>
int main(void)
{
    int score;
    char level;
    printf("请输入成绩:
");
    scanf("%d",&score);
    if(score<80)
        if(score<70)
            if(score<60)
                printf("E
");
            else
                printf("D
");
        else
                printf("C
");
    else
        if(score<90)
            printf("B
");
        else
            printf("A
");
    return 0;
}


6、查询水果单价。

#include<stdio.h>
int main(void)
{
    int choice,i;
    double price;

    for(i=1;i<=5;i++){
        printf("[1]Select apples
");
        printf("[2]Select pears
");
        printf("[3]Select oranges
");
        printf("[4]Select grapes
");
        printf("[0]Exit
");

        printf("Enter choice: ");
        scanf("%d",&choice);

        if(choice==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;
        }
        printf("price=%0.2f
",price);
    }
    
    printf("Thanks
");

    return 0;
}

心得:在编程过程中会遇到很多困难,需要心平气和的去找出来解决,想要自己会编程就要充分理解每行代码所代表的是什么,有什么作用,才能使编出来的东西按照要求输出。

问题:有时候编写出来的if-else语句并不能起作用,只执行if后面的语句,这是怎么回事呢????

原文地址:https://www.cnblogs.com/zhangling213549/p/3378439.html