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 条评论
登录 后参与评论

相关文章

来自专栏生信技能树

ChAMP 包分析450K甲基化芯片数据(一站式)

就有非常棒的一站式教程投稿,也因此我结识了优秀的六六,以及其教程大力推荐的R包作者,见:

4382
来自专栏Huramkin的归档库

Latex笔记(一)

也可以使用Cmd编辑Tex文件,当然也可以使用其他文本编辑器来编辑Tex文件,这里为了方便起见,使用自带的编辑器TeXworks。

691
来自专栏wym

牛客练习赛19 E托米的饮料

链接:https://www.nowcoder.com/acm/contest/111/E 来源:牛客网

841
来自专栏用户2442861的专栏

常见的计算机专业词汇

   作为计算机相关专业学生,面试或者笔试时不可避免地会遇到与专业相关的问题,而考核专业问题的时候,又不可避免地涉及到很多专业词汇,这就需要求职者掌握好常见的...

1272
来自专栏算法+

快速双边滤波 附完整C代码

很早之前写过《双边滤波算法的简易实现bilateralFilter》。 当时学习参考的代码来自cuda的样例。 相关代码可以参阅: https://github...

1.1K10
来自专栏数说工作室

IML的条件与循环 | 【SAS Says·扩展篇】IML:3.编程

【SAS Says·扩展篇】IML 分6集,回复【SASIML】查看全部: 入门 | SAS里的平行世界 函数 | 函数玩一玩 编程 | IML的条件与循环 ...

3458
来自专栏简书专栏

Pyechart入门

pyecharts是一个用于生成echarts图表的类库。echarts是百度开源的一个数据可视化库,用echarts生成的图可视化效果非常棒。使用pyecha...

6383
来自专栏数据结构与算法

P1095 守望者的逃离

题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,...

2666
来自专栏Coding迪斯尼

使用Box2D实现物体的碰撞检测和实现自动化背景布置

我们本节要实现的是,当用户把小球投入篮框,如果小球能从篮框中间漏下去,那么就可以算得分。这就需要我们进行碰撞检测,Box2D给我们提供良好机制能实现这点功能。我...

982
来自专栏用户画像

3.3 差错控制

概括地说,传输中的差错都是由于噪声引起的。噪声有两大类:一类是信道中所固定的、持续存在的随机热噪声;另一类是由于外界特定个的短暂原因所造成的冲击噪声。前者可以通...

761

扫码关注云+社区