C语言之条件语句练习题

第1关:判断平方和是否大于100

100

  • 任务要求
  • 参考答案
  • 评论96
  • 任务描述
  • 相关知识
  • 编程要求
  • 测试说明

任务描述

本关需要完成一个判断两个整数的平方和是否大于100的小程序。

相关知识

条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。


  1. if (<条件>) {
  2. <条件成立执行的代码>
  3. }else {
  4. <条件不成立执行的代码>
  5. }

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

输入两个整数a,b,如果a的平方加b的平方和大于100,则输出其和的百位以上(包括百位)的数字,否则输出a+b的值。

注:通过条件语句实现

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

例如:

测试输入:5 6 预期输出:11

测试输入:8 9 预期输出:1

#include
int main()
{
  /*********begin*********/
  int a,b,bai,he;
  scanf("%d %d",&a,&b);
  if(a*a+b*b>100){
      bai=(a*a+b*b)/100;
      printf("%d",bai);
  }else{
    he=a+b;
    printf("%d",he);
  }
  /*********end*********/
  return 0;
}

第2关:判断学生成绩等级

100

  • 任务要求
  • 参考答案
  • 评论96
  • 任务描述
  • 相关知识
    • 关系运算符
  • 编程要求
  • 测试说明

任务描述

本关需要完成根据学生的成绩,判断其成绩等级的小程序。

相关知识

上关是对if语句的回顾,我们在本关来补充一下关系运算符的知识,以便更好的完成本关任务。

关系运算符

== 检查两个操作数的值是否相等,如果相等则条件为真;

!= 检查两个操作数的值是否相等,如果不相等则条件为真;

> 检查左操作数的值是否大于右操作数的值,如果是则条件为真;

< 检查左操作数的值是否小于右操作数的值,如果是则条件为真;

>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真;

<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

给出一百分制成绩,要求输出成绩等级ABCD

  • 85分以上为A

  • 84~70分为B

  • 69~60分为C

  • 60分以下为D

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

例如: 测试输入:89。 预期输出:成绩是89,相应的等级是A

测试输入:56 。 预期输出:成绩是56,相应的等级是D


验货啦,验货啦,开始你的任务吧!

#include
int main()
{
    /*********begin*********/
    int n;
    scanf("%d",&n);
    if(n>=85){
        printf("成绩是%d,相应的等级是A",n);
    }else if(n>=70 && n<85){
        printf("成绩是%d,相应的等级是B",n);
    }else if(n>=60 && n<70){
        printf("成绩是%d,相应的等级是C",n);
    }else{
        printf("成绩是%d,相应的等级是D",n);
    }
    /*********end*********/
    return 0;
}

第3关:区间内求和

100

  • 任务要求
  • 参考答案
  • 评论96
  • 任务描述
  • 相关知识
    • 逻辑运算符
  • 编程要求
  • 测试说明

任务描述

本关需要完成求某个区间内,能整除711的所有数的总和的小程序。

相关知识

逻辑运算符

&& :运算符。如果两个操作都为真,则条件为真。 || : 运算符。如果两个操作中满足任意一个为真,则条件为真。 ! : 运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑运算符将使其为假。

例如: 变量A的值为1,变量B的值为0

(A && B) 为假。 (A || B) 为真。 !(A && B) 为真。

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

输入两个整数ab0,将[a,b]间所有能整除711的数累加,输出最终累加的和。

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

例如: 测试输入:3,20。 预期输出:32

测试输入:10,30。 预期输出:96


验货啦,验货啦,开始你的任务吧!

#include
int main()
{
    /*********begin*********/
    int a,b,sum=0,n;
    scanf("%d,%d",&a,&b);
    if(a>0 && a

第4关:判断是否为闰年

100

  • 任务要求
  • 参考答案
  • 评论96
  • 任务描述
  • 相关知识
  • 编程要求
  • 测试说明

任务描述

本关需要完成判断输入年份是否为闰年的小程序。

相关知识

闰年简介: 满足以下任意一个条件即为闰年:

  1. 能整除4且不能整除100

  2. 能整除400

编程要求

输入一个年份,请程序判断输出这一年是否为闰年。

测试举例:

测试输入:1999。 预期输出:1999年不是闰年。

测试输入:2000。 预期输出:2000年是闰年。

测试输入:1800。 预期输出:1800年不是闰年。

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


验货啦,验货啦,开始你的任务吧!

#include 
void main()
{
   /*********begin*********/
   int n;
   scanf("%d",&n);
   if(n%4==0&&n%100!=0){
      printf("%d年是闰年。",n);
   }else if(n%400==0){
      printf("%d年是闰年。",n);
   }else{
      printf("%d年不是闰年。",n);
   } 
   /*********end*********/
}

第5关:判断数字是否相同

100

  • 任务要求
  • 参考答案
  • 评论96
  • 任务描述
  • 相关知识
    • 算数运算符
    • floor
  • 编程要求
  • 测试说明

任务描述

任意输入一个三位数,如果有且仅有两个数字相同,则输出1,否则输出0

相关知识

算数运算符

%是取模运算符,获得整除后的余数。 /是通过分子除以分母,获得整除后的整数部分。

floor

描述:C库函数 double floor(double x) 返回小于或等于x的最大的整数值,即向下取整。

参数:x 指的是浮点值。

返回值:该函数返回不大于x的最大整数值

举例说明:


  1. float val = 1.2
  2. floor(val) = 1

提示:方法不唯一,可以尽量尝试多种方式实现。

编程要求

请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写判断数字是否相同的小程序。

测试说明

例如: 测试输入: 123。 预期输出:0

测试输入:555。 预期输出:0

测试输入:252。 预期输出:1


验货啦,验货啦,开始你的任务吧!

#include
#include
int main()
{	
   /*********begin*********/
   int n,num=0,ge,shi,bai;
   scanf("%d",&n);
   ge=n%100%10;
   shi=n/10%10;
   bai=n/100;
   if(ge==shi&&ge!=bai){
      printf("1");
   }else if(ge!=shi&&ge==bai){
      printf("1");
   }else if(shi==bai&&shi!=ge){
      printf("1");
   }else{
      printf("0");
   }
   /*********end*********/
}

第6关:判断日期是一年中的第几天

100

  • 任务要求
  • 参考答案
  • 评论96
  • 任务描述
  • 相关知识
    • switch
  • 编程要求
  • 测试说明

任务描述

本关需要你使用Switch语句,完成判断指定日期是一年当中的第几天的小程序。效果如下:

输入:2016-1-1。 输出:1

相关知识

switch

C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:


  1. switch(表达式){
  2. case 常量表达式1: 语句1;
  3. case 常量表达式2: 语句2;
  4. case 常量表达式n: 语句n;
  5. default: 语句n+1;
  6. }

可以这么说,switch语句是用来做等值判断的。

一个 switch 语句可以测试一个变量等于多个值的情况。每个值称为一个 case,且被测试的变量会对switch 下的每个case进行检查。当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。

不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会继续后续的 case,直到遇到 break 为止。

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

输入一个日期,输出此日期是该年中的第几天。

注意:

  • 输入日期中年月日间用"-"分隔;
  • 需要区分平年与闰年。

测试说明

测试举例:

测试输入:2016-1-5。 预期输出:5

测试输入:2013-3-1。 预期输出:60


验货啦,验货啦,开始你的任务吧!

#include
int main()
{
   /*********begin*********/
   int n,y,h,z;
   scanf("%d-%d-%d",&n,&y,&h);
   z=h;
    switch(y)
    {
        case 12:
            z+=30;
        case 11:
            z+=31;
        case 10:
            z+=30;
        case 9:
            z+=31;
        case 8:
            z+=31;
        case 7:
            z+=30;
        case 6:
            z+=31;
        case 5:
            z+=30;
        case 4:
            z+=31;
        case 3:
            if((n%4==0&&n%100!=0)||n%400==0)
                z+=29;
            else
                z+=28;
        case 2:
            z+=31;
        case 1:;
    }
   printf("%d",z);
   /*********end*********/
   return 0;
}

你可能感兴趣的:(湖南工业大学(移动云启),c语言,蓝桥杯,开发语言)