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

来源:互联网 发布:淘宝打折软件哪个好用 编辑:程序博客网 时间:2024/06/05 11:25

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

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("您输入的年份不是闰年");elseprintf("您输入的年份是闰年"); 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("您输入的数不是回文数");elseprintf("您输入的数是回文数"); printf("\n==================================\n"); return 0;}

结果: