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

相关文章

来自专栏ml

C plus plus 控制格式

使用这些格式需要声明包含<iomainip> long flags( ) const 返回当前的格式标志。 long flays(long newflag) 设...

2084
来自专栏C/C++基础

printf()详解之终极无惑

printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。

2063
来自专栏xcywt

《Linux命令行与shell脚本编程大全》第二十二章 gawk进阶

gawk是一门功能丰富的编程语言,你可以通过它所提供的各种特性来编写好几程序处理数据。  22.1 使用变量 gawk编程语言支持两种不同类型的变量: 内建变量...

1916
来自专栏aCloudDeveloper

LeetCode:4_Median of Two Sorted Arrays | 求两个排序数组的中位数 | Hard

题目: There are two sorted arrays nums1 and nums2 of size m and n respectively. F...

1706
来自专栏苦逼的码农

Unicode与UTF-8的区别

要弄清Unicode与UTF-8的关系,我们还得从他们的来源说起,下来我们从刚开始的编码说起,直到Unicode的出现,我们就会感觉到他们之间的关系

1312
来自专栏和蔼的张星的图像处理专栏

55. 比较字符串

比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母 样例 给出 A = "ABCD" B = "ACD",返回 tru...

811
来自专栏Golang语言社区

【Go 语言社区】Golang 语言再谈常量

常量是指该程序可能无法在其执行期间改变的固定值。这些固定值也被称为文字。 常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型。还有枚...

3308
来自专栏calmound

最小生成树判断唯一

题意:若最小生成树唯一则输出权值和,若不唯一输出Not Not Unique! 运用prim算法将最小生成树求出,然后在依次枚举删除最小生成树中的每一条边,判断...

3194
来自专栏信数据得永生

JavaScript 编程精解 中文第三版 九、正则表达式

2846
来自专栏北京马哥教育

Python爬虫基础知识:Python中的正则表达式教程

云豆贴心提醒,本文阅读时间7分钟 正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器。 一、 正则表达式基础 1.1.概...

2476

扫码关注云+社区