(头歌)C语言程序设计------运算符与表达式编程

第1关:判断并输出闰年信息

任务描述

本关任务:编写一个小程序,根据输入的年号,判断并输出该年是不是闰年的信息。

相关知识

为了完成本关任务,你需要掌握: 1.判断闰年的逻辑表达式:能被4整除但不能被100整除,或者能被400整除的数是闰年。 2.用条件表达式实现选择(分支)结构的程序。 3.整型数据的输入,以及按照指定格式输出的方法。

用条件表达式实现选择(分支)结构的程序

条件表达式? :可以用来实现简单的选择结构(分支结构)程序,例如。

 
  1. # include
  2. int main() //输入一个整数,输出其是偶数还是奇数。
  3. {
  4. int n;
  5. printf("输出一个整数:");
  6. scanf("%d",&n);
  7. printf("%d是%s数。",n,n%2==0?"偶":"奇");
  8. return 0;
  9. }

输出: 10是偶数。 3是奇数。

编程要求

根据提示,在右侧编辑器Begin-End区域内补充代码,读入年号之后,判断并输出该年是不是闰年的信息。

测试说明

平台会对你编写的代码进行测试:

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

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

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

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

提示: 1、在程序开头需要定义2个整型(int类型)的变量,分别保存年号和闰年逻辑表达式的值; 2、本程序不能使用if ……else语句,只能通过条件表达式? : 来完成有关分支功能。 3、运行程序后,从键盘输入年号; 4、输出的时候,必须按照预期的输出格式进行输出,该有的字符、汉字必须有,不该有的绝对不能有,否则无法通过测试。

代码如下 


#include

int main()

{

    /***   Begin   ***/

    int n;

    scanf("%d",&n);

    printf("%d年%s闰年。",n,n%4==0&&n%100!=0||n%400==00?"是":"不是");

    /***    End    ***/

    return 0;

}


第2关:从3个实数中用条件表达式找出最小值、中间值和最大值

任务描述

本关任务:编写一个程序,从键盘输入以逗号分隔的3个实数,通过条件表达式计算出这3个实数中最小值和最大值,再利用算术表达式计算机出中间值,然后按照2位小数换行输出这3个数中的最小值、中间值和最大值。具体输入输出格式请参照下文中的“测试输入”和“预期输出”。

相关知识

为了完成本关任务,你需要掌握: 1.如何用条件表达式计算出3个数中的最大值和最小值。 2.实型数据的输入,以及按照指定格式输出的方法。

如何从3个数中求最大值

从a,b,c这3个变量中计算出最大值并保存在变量max中。

 
  1. max=a>b?(a>c?a:c):(b>c?b:c);

如何从3个数中求最小值

计算最小值的方法跟上面类似。

如何从3个数中求中间值

3个数的和减去最小值,再减去最大值,就是中间值。

编程要求

根据提示,在右侧编辑器Begin-End区域内补充代码,读入以逗号分隔的3个实数,通过条件表达式计算出其中的最小值和最大值,再用算术表达式计算出中间值,然后按照两位小数的形式等格式要求分别换行输出最小值、中间值和最大值。

测试说明

平台会对你编写的代码进行测试:

测试输入:4.32.85.2; 预期输出: 最小值是2.80 中间值是4.30 最大值是5.20

测试输入:-14584.882; 预期输出: 最小值是-14.00 中间值是4.88 最大值是58.00

提示: 1、在程序开头需要定义6个单精度或双精度实型的变量,分别保存输入的3个数,以及计算出的最小值、中间值和最大值; 2、本程序不能使用if ……else语句,只能通过条件表达式? : 和算术表达式来完成有关计算功能。 3、运行程序后,从键盘输入3个实数,要以逗号分隔; 4、输出的时候,必须按照“预期输出”格式进行输出,该有的字符、汉字、换行符必须有,不该有的绝对不能有,否则无法通过测试。

代码如下


 #include

int main()

{

    /***   Begin   ***/

    float a,b,c;                      

    float max,min,zhong;                  

    scanf("%f,%f,%f",&a,&b,&c);      

    max=(a>b?a:b)>c?(a>b?a:b):c;                                

    min=(a

    zhong=a+b+c-max-min;        

    printf("最小值是%.2f\n中间值是%.2f\n最大值是%.2f",min,zhong,max);

    /***    End    ***/

    return 0;

}



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部