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

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

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;
}

 

 

 

结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昵称系统有问题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值