您的位置:首页 > 其它

三目运算嵌套求三个数最大值及顺序选择结构-c基础第五课

2017-07-19 22:15 330 查看

三目运算嵌套求三个数最大值及顺序选择结构

1.用三目运算符嵌套实现三个数求最大值:a>b?(a>c?a:c):(b>c?b:c)

2.用户输入一个年份,判断是否为闰年,年份必须是四位以内的。

分析:用户输入年份,然后对1000求商,根据结果判断是否为四位以内的数,然后再根据闰年的规定标准判断是否为闰年即可。(可以循环判断循环输入,但是由于课程暂未涉及,本次仅进行一次判断,错误则直接结束程序)

代码:

#include<stdio.h>

/********************************
函数名 :judge_number_bit
函数功能:判断输入的数是否超过四位
参数 :int year_num:输入的数
返回值 :如果不超过四位返回0,
超过四位返回-1.
作者 :zy
时间 :2017.7.16
**********************************/
int judge_number_bit(int year_num)
{
if ((year_num / 1000) > 9)
return (- 1);
return 0;
}

/********************************
函数名 :judge_leap_year
函数功能:判断是否为闰年
参数 :int year_num:输入的年份
返回值 :如果是闰年返回0,
如果不是返回-1.
作者 :zy
时间 :2017.7.16
**********************************/
int judge_leap_year(int year_num)
{
/* 闰年:是指可以被 4 整除时且不可以被 100 整除,或可以被 400 整除的年份*/
if (((year_num % 4 == 0) && (year_num % 100 != 0)) || year_num %400 == 0)
return 0;
return -1;
}

int main(int argc,char* argv[])
{
int year = 0;
int res = 0;

printf("**************************************\n");
printf("*该软件是一款对用户输入年份进行判断,*\n");
printf("*确定该年份是否为闰年的查询软件。 *\n");
printf("**************************************\n");

printf("\n==================================\n");
printf("请输入您要判断的年份:");
scanf("%d", &year);

res = judge_number_bit(year);
if (-1 == res)
{
printf("致命错误:请确定你输入的年份为四位以内的正整数!\n");
return;
}

res = judge_leap_year(year);
if (-1 == res)
printf("您输入的年份不是闰年");
else
printf("您输入的年份是闰年");

printf("\n==================================\n");

return 0;
}

结果:

 








3.一个五位数,判断是否为回文数。

分析:回文数,类似“上海自来水来自海上”,正反都一样。要求五位数,那么先进行位数判断,然后利用回文数的判断标准正反相同进行判断即可。

代码:

#include<stdio.h>

/********************************
函数名 :judge_number_bit
函数功能:判断输入的数是否为五位
参数 :int num:输入的数
返回值 :如果是五位返回0,
不是五位返回-1.
作者 :zy
时间 :2017.7.16
**********************************/
int judge_number_bit(int num)
{
if ((num / 10000) >= 1 && (num / 10000) <= 9)
return 0;
return -1;
}

/**********************************
函数名 :judge_palindrome_number
函数功能:判断输入的数是否为回文数
参数 :int num:输入的数
返回值 :如果是回文数返回0,
不是返回-1.
作者 :zy
时间 :2017.7.16
***********************************/
int judge_palindrome_number(int num)
{
int number = num;//变化前的数
int number_change = 0;//变化后的数

for (; num>0;)
{
number_change = (number_change * 10) + (num % 10);
num = num / 10;
}

if (number == number_change)
return 0;
return -1;
}

int main(int argc, char* argv[])
{
int num = 0;
int res = 0;

printf("**************************************\n");
printf("*该软件是一款对用户输入的数进行判断,*\n");
printf("*确定该数是否为回文数的查询软件。 *\n");
printf("**************************************\n");

printf("\n==================================\n");
printf("请输入您要判断的五位整数:");
scanf("%d", &num);

res = judge_number_bit(num);
if (-1 == res)
{
printf("致命错误:请确定你输入的数为五位的正整数!\n");
return;
}

res = judge_palindrome_number(num);
if (-1 == res)
printf("您输入的数不是回文数");
else
printf("您输入的数是回文数");

printf("\n==================================\n");

return 0;
}
结果:

 






 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息