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

简介: 一、输入语文,数学成绩,根据平均分分3档 #include "stdio.h" void main() { //接受用户输入 float chinese,math,avg; printf("请输入语文成绩:"); scanf("%f",&chines...

一、输入语文,数学成绩,根据平均分分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("符号错误");
    }
}

目录
相关文章
|
3月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
82 5
|
3月前
|
网络协议 编译器 Linux
【C语言】结构体内存对齐:热门面试话题
【C语言】结构体内存对齐:热门面试话题
121 0
|
1天前
|
存储 编译器 C语言
【C语言程序设计——选择结构程序设计】求一元二次方程的根(头歌实践教学平台习题)【合集】
本任务要求根据求根公式计算并输出一元二次方程的两个实根,精确到小数点后两位。若方程无实根,则输出提示信息。主要内容包括: - **任务描述**:使用求根公式计算一元二次方程的实根。 - **相关知识**:掌握 `sqrt()` 函数的基本使用方法,判断方程是否有实根。 - **编程要求**:根据输入的系数,计算并输出方程的根或提示无实根。 - **测试说明**:提供两组测试数据及预期输出,确保代码正确性。 - **通关代码**:包含完整的 C 语言代码示例,实现上述功能。 通过本任务,你将学会如何处理一元二次方程的求解问题,并熟悉 `sqrt()` 函数的使用。
17 5
|
1天前
|
存储 安全 C语言
【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】
分支的语句,这可能不是预期的行为,这种现象被称为“case穿透”,在某些特定情况下可以利用这一特性来简化代码,但在大多数情况下,需要谨慎使用。编写一个程序,该程序需输入个人数据,进而预测其成年后的身高。根据提示,在右侧编辑器补充代码,计算并输出最终预测的身高。分支下的语句,提示用户输入无效。常量的值必须是唯一的,且在同一个。语句的作用至关重要,如果遗漏。开始你的任务吧,祝你成功!,程序将会继续执行下一个。常量都不匹配,就会执行。来确保程序的正确性。
23 10
|
1天前
|
小程序 C语言
【C语言程序设计——基础】顺序结构程序设计(头歌实践教学平台习题)【合集】
目录 任务描述 相关知识 编程要求 测试说明 我的通关代码: 测试结果: 任务描述 相关知识 编程编写一个程序,从键盘输入3个变量的值,例如a=5,b=6,c=7,然后将3个变量的值进行交换,使得a=6,b=7,c=5。面积=sqrt(s(s−a)(s−b)(s−c)),s=(a+b+c)/2。使用输入函数获取半径,格式指示符与数据类型一致,实验一下,不一致会如何。根据提示,在右侧编辑器补充代码,计算并输出圆的周长和面积。
21 10
|
1天前
|
存储 算法 安全
【C语言程序设计——选择结构程序设计】按从小到大排序三个数(头歌实践教学平台习题)【合集】
本任务要求从键盘输入三个数,并按从小到大的顺序排序后输出。主要内容包括: - **任务描述**:实现三个数的排序并输出。 - **编程要求**:根据提示在编辑器中补充代码。 - **相关知识**: - 选择结构(if、if-else、switch) - 主要语句类型(条件语句) - 比较操作与交换操作 - **测试说明**:提供两组测试数据及预期输出。 - **通关代码**:完整代码示例。 - **测试结果**:展示测试通过的结果。 通过本任务,你将掌握基本的选择结构和排序算法的应用。祝你成功!
15 4
|
1天前
|
存储 算法 安全
【C语言程序设计——选择结构程序设计】求阶跃函数的值(头歌实践教学平台习题)【合集】
本任务要求输入x的值,计算并输出特定阶跃函数的结果。主要内容包括: 1. **选择结构基本概念**:介绍if、if-else、switch语句。 2. **主要语句类型**:详细解释if、if-else、switch语句的使用方法。 3. **跃迁函数中变量的取值范围**:说明如何根据条件判断变量范围。 4. **计算阶跃函数的值**:通过示例展示如何根据给定条件计算函数值。 编程要求:在右侧编辑器Begin-End之间补充代码,实现阶跃函数的计算和输出。测试说明提供了多个输入及其预期输出,确保代码正确性。最后提供通关代码和测试结果,帮助理解整个过程。
14 0
|
1天前
|
存储 算法 安全
【C语言程序设计——选择结构程序设计】判断一个数是不是5和7的倍数(头歌实践教学平台习题)【合集】
本任务要求输入一个正整数,判断其是否同时是5和7的倍数,若是输出&quot;Yes&quot;,否则输出&quot;No&quot;。内容涵盖选择结构的基本概念、主要语句类型(if、if-else、switch)及条件判断逻辑,帮助理解编程中的分支执行与条件表达式。测试用例包括正数、负数及非倍数情况,确保代码逻辑严谨。通关代码示例如下: ```cpp #include &quot;stdio.h&quot; int main(){ int a; scanf(&quot;%d&quot;, &a); if (a &lt;= 0){ printf(&quo
15 0
|
1天前
|
编译器 C语言 C++
【C语言程序设计——选择结构程序设计】求输入的日期是该年的第几天(头歌实践教学平台习题)【合集】
本任务要求编写程序,根据用户输入的年月日(以空格或回车分隔),计算并输出该天是该年的第几天,需注意判断闰年。主要内容包括: 1. **任务描述**:实现从键盘输入年月日,计算该天是当年的第几天。 2. **相关知识**: - `switch` 结构的基本语法及使用注意事项。 - 判断闰年的条件:能被4整除但不能被100整除,或能被400整除的年份为闰年。 3. **编程要求**:根据提示补充代码,确保程序正确处理输入并输出结果。 4. **测试说 示例代码展示了如何使用 `switch` 语句和闰年判断逻辑来完成任务。通过此练习,掌握 `switch` 语句的应用及闰年判断方法。
13 0
|
2月前
|
存储 搜索推荐 算法
【数据结构】树型结构详解 + 堆的实现(c语言)(附源码)
本文介绍了树和二叉树的基本概念及结构,重点讲解了堆这一重要的数据结构。堆是一种特殊的完全二叉树,常用于实现优先队列和高效的排序算法(如堆排序)。文章详细描述了堆的性质、存储方式及其实现方法,包括插入、删除和取堆顶数据等操作的具体实现。通过这些内容,读者可以全面了解堆的原理和应用。
112 16