第三章 分支结构
输入3个整数a,b,c,要求把最小数存入a中,把最大数存入c中,然后按从小到大的顺序输出这三个数
方法一:
# include <stdio.h>
int main ( void )
{
int a, b, c;
int temp;
scanf ( "%d%d%d" , & a, & b, & c) ;
if ( a> c)
{
temp= a;
a= c;
c= temp;
}
if ( a> b)
{
temp= a;
a= b;
b= temp;
}
if ( b> c)
{
temp= b;
b= c;
c= temp;
}
printf ( "%d<%d<%d\n" , a, b, c) ;
return 0 ;
}
方法二:
# include <stdio.h>
int main ( )
{
int a, b, c;
int max, min, i;
printf ( "请输入三个整数:\n" ) ;
scanf ( "%d%d%d" , & a, & b, & c) ;
max= ( a> b) ? a: b;
min= ( a< b) ? a: b;
max= ( max> c) ? max: c;
min= ( min< c) ? min: c;
i= ( min> c) ? min: c;
printf ( "%d<%d<%d\n" , min, i, max) ;
return 0 ;
}
判断奇偶性。输入一个整数n,判断n是奇数还是偶数,若为奇数输出“奇数”,若为偶数,输出“偶数”。
# include <stdio.h>
int main ( )
{
int n;
printf ( "请输入一个整数:\n" ) ;
scanf ( "%d" , & n) ;
if ( n% 2 == 0 )
printf ( "%d是偶数\n" , n) ;
else
{ printf ( "%d是奇数\n" , n) ; }
return 0 ;
}
水仙花数判断。如果一个三位正整数n的各位数字的立方和等于n自身,则称n为水仙花数。编写程序,输入一个三位正整数n,判断n是否为水仙花数,如果是输出“yes”,否则输出“no”。
# include <stdio.h>
# include <math.h>
int main ( )
{
int a, b, c, n;
int sum;
printf ( "请输入一位三位正整数:\n" ) ;
scanf ( "%d" , & n) ;
c= n% 10 ;
b= ( n/ 10 ) % 10 ;
a= ( n/ 100 ) ;
sum= c* c* c+ b* b* b+ a* a* a;
printf ( "%d\n" , sum) ;
if ( sum== n)
{ printf ( "yes\n" ) ;
}
else {
printf ( "no\n" ) ;
}
return 0 ;
}
三角形判断。输入三个整数,表示三个边长,问能否构成三角形,若能输出“yes”,否则输出“no”。
# include <stdio.h>
int main ( )
{
int a, b, c;
printf ( "请输入三个整数:\n" ) ;
scanf ( "%d%d%d" , & a, & b, & c) ;
if ( a+ b> c&& b+ c> a&& a+ c> b)
printf ( "yes\n" ) ;
else
printf ( "no\n" ) ;
return 0 ;
}
输入任意一个字符,若是小写字母则变为大写字母输出,否则原样输出。
# include <stdio.h>
int main ( )
{
char ch;
ch= getchar ( ) ;
if ( ch>= 'a' && ch<= 'z' )
ch-= 32 ;
putchar ( ch) ;
return 0 ;
}
计算字母序号(加强版)。输入一个英文字母(大写或小写),输出该字母在字母表中的序号
# include <stdio.h>
int main ( )
{
char ch;
int i;
ch= getchar ( ) ;
if ( ch>= 'a' && ch<= 'z' )
ch-= 32 ;
i= ( int ) ch- 64 ;
printf ( "%d" , i) ;
return 0 ;
}
输入一个年份,判断该年是否是闰年,如果是闰年,输出“闰年”,否则输出“非闰年”。
int main ( )
{
int year;
scanf ( "%d" , & year) ;
if ( year% 4 != 0 )
{ printf ( "非闰年\n" ) ; }
else {
if ( year% 100 != 0 )
{ printf ( "闰年\n" ) ; }
else {
if ( year% 400 == 0 )
printf ( "闰年\n" ) ;
else
printf ( "非闰年\n" ) ;
}
}
return 0 ;
}
使用多分支if语句实现如下功能:计算某年某月有多少天,输入两个整数表示年和月,输出一个整数,即该月的天数
如果月份是1 , 3 , 5 , 7 , 8 , 70 或12 ,则输出31 ;
如果月份是4 , 6 , 9 或11 ,则输出30 ;
如果月份为2 ,分两种情况,如果年份是闰年,输出29 ,否则,输出28 。
# include <stdio.h>
int main ( )
{
int year, month;
scanf ( "%d%d" , & year, & month) ;
switch ( month)
{
case 4 :
case 6 :
case 9 :
case 11 : printf ( "30\n" ) ; break ;
case 2 : if ( ( year% 400 == 0 ) || ( year% 4 == 0 && year% 100 != 0 ) )
printf ( "29\n" ) ;
else
printf ( "28\n" ) ;
break ;
default : printf ( "31\n" ) ;
}
return 0 ;
}
给定一个百分制成绩,根据百分制成绩输出对应的五级等分制成绩,对应关系为:90分以上为‘A’,80-89为‘B’,70-79为‘C’,60-69为‘D’,60分以下为‘E’。
int main ()
{
int score;
char ch;
printf("请输入一个百分制的成绩:\n");
scanf("%d",&score);
switch(score/10)
{
case 9: ch='A';break;
case 8: ch='B';break;
case 7: ch='C';break;
case 6: ch='D';break;
case 5:
case 4:
case 3:
case 2:
case 1:
default:ch='E';break;
}
putchar(ch);
return 0;
}
某公司规定,销售人员工资由基本工资和销售提成两部分组成,其中基本工资是1500元/月,销售提成规则如下: 销售额小于等于10 000元时,按照5%提成; 销售额大于10 000元但小于等于50 000元时,超出10 000部分按照3%提成; 销售额大于50 000元时,超出50 000部分按照2%提成; 编写程序,根据销售额计算员工收入。
# include <stdio.h>
int main ( )
{
int money;
double sum;
printf ( "请输入员工的销售额度:\n" ) ;
scanf ( "%d" , & money) ;
if ( money<= 10000 )
{ sum = money* 0.05 + 1500 ;
} else if ( money <= 50000 )
sum = 1500 + ( money- 10000 ) * 0.03 + 10000 * 0.05 ;
else
sum = 1500 + ( money- 50000 ) * 0.02 + 10000 * 0.05 + 50000 * 0.03 ;
printf ( "%.2f" , sum) ;
return 0 ;
}