C语言 第四章 分支结构练习

一、输入语文,数学成绩,根据平均分分3档

#include "stdio.h"
void main()
{
    //接受用户输入
    float chinese,math,avg;
    printf("请输入语文成绩:");
    scanf("%f",&chinese);
    printf("请输入数学成绩:");
    scanf("%f",&math);
    
    //判断输入是否正确
    if((chinese>=0&&chinese<=100)&&(math>=0&&math<=100))
    {
       //求平均分
       avg=(chinese+math)/2;
       //根据平均分分档
       if(avg>=0&&avg<=59){
          printf("C");
       }
       else if(avg>=60 && avg<=84)
       {
             printf("B");
       }
       else
       {
             printf("A");
       }
    }
    else
    {
        printf("输入错误");
    }
}

二、使用switch实现算术运算

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //输入部分
    int d1,d2;
    char o;
    
    printf("d1=");
    scanf("%d",&d1);
    
    fflush(stdin);
    
    printf("运算符(+ - * /):");
    scanf("%c",&o);
    
    fflush(stdin);
    
    printf("d2=");
    scanf("%d",&d2);
    
    switch(o)
    {
        case '+':
            printf("%d%c%d=%d",d1,o,d2,d1+d2);
            break;
        case '-':
            printf("%d%c%d=%d",d1,o,d2,d1-d2);
            break;
        case '*':
            printf("%d%c%d=%d",d1,o,d2,d1*d2);
            break;
        case '/':
            if(d2!=0)
            {
                printf("%d%c%d=%d",d1,o,d2,d1/d2);
            }
            else
            {
                printf("除数不能为零");
            }
            break;
        default:
            printf("系统不支持该运算符。");
    }
    
}

三、使用多重if实现算术运算

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //输入部分
    int d1,d2;
    char o;
    
    printf("d1=");
    scanf("%d",&d1);
    
    fflush(stdin);
    
    printf("运算符(+ - * /):");
    scanf("%c",&o);
    
    fflush(stdin);
    
    printf("d2=");
    scanf("%d",&d2);
    
    if(o=='+')
    {
        printf("%d%c%d=%d",d1,o,d2,d1+d2);
    }
    else if(o=='-')
    {
        printf("%d%c%d=%d",d1,o,d2,d1-d2);
    }
    else if(o=='*')
    {
        printf("%d%c%d=%d",d1,o,d2,d1*d2);
    }
    else if(o=='/')
    {
        if(d2!=0)
        {
            printf("%d%c%d=%d",d1,o,d2,d1/d2);
        }
        else
        {
            printf("除数不能为零");
        }
    }
    else 
    {
        printf("系统不支持该运算符。");
    }
    
}

四、for循环

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //1+2+3+4....+58=?
    int i,sum=0;
    for(i=1;i<=58;i++)
    {
        sum=sum+i;
        printf("\n%d",i);
    }
    printf("总和=%d",sum);
}

五、while循环

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i=1;
    while(i<=100)
    {
        printf("%d \n",i);
        i++;
    }
}
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i=1;
    while(1)  //默认条件为真
    {
        printf("%d \n",i);
        i++;
        if(i==100)
        {
            break;  //结束循环
        }
    }
}

六、do while循环

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i=0;
    do
    {
        i++;
        printf("%d\n",i);
    }while(i<58);
}

七、密码示例

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int mm,e=0;  //输入次数
    do{
        printf("还有%d次机会",3-e);
        printf("请输入密码:");
        scanf("%d",&mm);
        e++;
    }while(mm!=9527&&e<3);
    
    if(e<=3&&mm==9527)
    {
      printf("密码正确,欢迎进入系统。"); 
    }
    else
    {
       printf("卡已被锁,明天带身份证来。");
    }
}

八、多重if实现计算月份天数

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //1 3 5 7 8 10 12 ->31
    //4 6 9 11 ->30
    //13 输入错误
    int month,year;
    printf("请输入年:");
    scanf("%d",&year);
    printf("请输入月:");
    scanf("%d",&month);
    
    if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
    {
      printf("这个月有31天");
    }
    else if(month==4||month==6||month==9||month==11)
    {
      printf("这个月有30天");    
    }
    else if(month==2)
    {
       //①、非整百年能被4整除的为闰年。(如2004年就是闰年,2100年不是闰年)
       //②、能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
      //如果年被4整除且不被100整除,或400整除
      if(year%4==0&&year%100!=0||year%400==0)
      {
          printf("闰年29天");
      }
      else
      {
          printf("平年28天");
       }
    }
    else 
    {
        printf("输入有误");
    }
     
}

九、switch实现计算月份天数

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int month,year;
    printf("请输入年:");
    scanf("%d",&year);
    printf("请输入月:");
    scanf("%d",&month);
    
    switch(month)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            printf("31天");
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            printf("30天");
            break;
        case 2:
            if(year%4==0&&year%100!=0||year%400==0)
            {
                printf("29");
            }
               else
            {
                printf("28");
            }
            break;
        default:
            printf("输入错误");
    }
}

十、计算闰年

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //被4整除且不被100整除,或被400整除
    int year;
    scanf("%d",&year);
    
    if((year%4==0&&year%100!=0)||(year%400==0))
    {
        printf("闰年");
    }else
    {
         printf("平年");
    }
    
}

十一、判断素数

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i,j,flag=1;  //就是素数 树旗,假定默认就是
    scanf("%d",&j);
     
    for(i=2;i<j/2;i++)
    {
        if(j%i==0)
        {
            flag=0;
            break;
        }
    }
    
    if(flag==1)
    {
        printf("素数\n");
    }
    else
    {
        printf("非素数\n");
    }
}

十二、100内所有素数

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i,j,flag=1;  //就是素数 树旗
    
    for(j=2;j<=100;j++)
    {
        flag=1;
        for(i=2;i<j;i++)
        {
            if(j%i==0)
            {
                flag=0;
                break;
            }
        }
    
        printf("%d",j);
        if(flag==1)
        {
            printf("素数\n");
        }
        else
        {
            printf("非素数\n");
        }
    }
}

十三、switch实现输入数字与符号运算结果

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int n1,n2;
    char op;
    
    scanf("%d",&n1);
    fflush(stdin);
    
    scanf("%c",&op);
    fflush(stdin);
    
    scanf("%d",&n2);
    
    switch(op)
    {
        case '+':
            printf("%d+%d=%d",n1,n2,n1+n2);
            break;
        case '-':
            printf("%d-%d=%d",n1,n2,n1-n2);
            break;
        case '*':
            printf("%dx%d=%d",n1,n2,n1*n2);
            break;
        case '/':
            if(n2==0)
            {
                printf("除数不能为零");
            }
            else
            {
                printf("%d/%d=%d",n1,n2,n1/n2);
            }
            break;
        default:
            printf("符号错误");
    }
}

十四、多重if实现输入数字与符号运算结果

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int n1,n2;
    char op;
    
    scanf("%d",&n1);
    fflush(stdin);
    
    scanf("%c",&op);
    fflush(stdin);
    
    scanf("%d",&n2);
    
    if(op=='+')
    {
        printf("%d+%d=%d",n1,n2,n1+n2);
    }
    else if(op=='-')
    {
        printf("%d-%d=%d",n1,n2,n1-n2);
    }
    else if(op=='x')
    {
        printf("%dx%d=%d",n1,n2,n1*n2);
    }
    else if(op=='/')
    {
           if(n2==0)
            {
                printf("除数不能为零");
            }
            else
            {
                printf("%d/%d=%d",n1,n2,n1/n2);
            }
    }
    else
    {
        printf("符号错误");
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区