第四章选择结构程序设计
- 例4.1![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0d73e7e8013eb2294b4360dfb3091dda.jpeg)
- 例4.2输入两个实数,按从小到大的顺序输出这两个数。
- 例4.3输出3个数,a,b,c要求按由小到大的顺序输出。
- 例4.4输入一个字符,判别特是否为大写字母,如果是,将它转化为小写字母;如果不是,不转化。然后输出最后得到的字母。
- 例4.5
- 例4.6要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70—84分,C等为60—69分,D等为60分以下。成绩的等级由键盘输入。
- 例4.7用switch语句处理菜单命令。在许多应用程序中,用菜单对流程进行控制,例如从一个键盘输入一个A或a字符,就会执行A操作,输入一个B或b字符,就会执行一个B操作可以按以下思路编写程序。
- 例4.8写一程序判断某一年是否为闰年
- 例4.9求ax^2+bx+c=0方程的解
- 例4.10
例4.1
例4.2输入两个实数,按从小到大的顺序输出这两个数。
#include <stdio.h>
int main()
{
int a,b,t;
printf("请输入两个数:");
scanf("%d,%d",&a,&b);
if(a<b)
{
printf("%d,%d",a,b);
}
else if(a==b)
{
printf("%d,%d",a,b);
}
else
{
t=b;
b=a;
a=t;
printf("%d,%d",a,b);
}
return 0;
}
结果为:
例4.3输出3个数,a,b,c要求按由小到大的顺序输出。
#include <stdio.h>
int main()
{
int a,b,c,t;
printf("请输入三个数:");
scanf("%d,%d,%d",&a,&b,&c);
if(a<b&&a<c)
{
if(b<c)
{
printf("%d,%d,%d",a,b,c);
}
else
{
printf("%d,%d,%d",a,c,b);
}
}
else if(c<b&&c<a)
{
if(b<a)
{
printf("%d,%d,%d",c,b,a);
}
else
{
printf("%d,%d,%d",c,a,b);
}
}
else
{
if(a<c)
{
printf("%d,%d,%d",b,a,c);
}
else
{
printf("%d,%d,%d",b,c,a);
}
}
return 0;
}
结果为:
例4.4输入一个字符,判别特是否为大写字母,如果是,将它转化为小写字母;如果不是,不转化。然后输出最后得到的字母。
#include <stdio.h>
int main()
{
char ch;
printf("请输入一个字符");
scanf("%ch",&ch);
if(ch<='Z'&&ch>='A')
{
ch=ch+32;
printf("%c",ch);
}
else if(ch>='a'&&ch<='z')
{
printf("%c",cha);
}
return 0;
}
结果为:
例4.5
例4.6要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70—84分,C等为60—69分,D等为60分以下。成绩的等级由键盘输入。
#include <stdio.h>
int main()
{
char grade;
scanf("%c",&grade);
printf("You grade");
switch(grade)
{
case 'A': printf("85~100\n");break;
case 'B': printf("70~84\n");break;
case 'C': printf("60~69\n");break;
case 'D': printf("<60\n");break;
default : printf("data error!\n");
}
return 0;
}
结果为:
例4.7用switch语句处理菜单命令。在许多应用程序中,用菜单对流程进行控制,例如从一个键盘输入一个A或a字符,就会执行A操作,输入一个B或b字符,就会执行一个B操作可以按以下思路编写程序。
#include<stdio.h>
int main()
{
void action1(int,int),action2(int,int);
char ch;
int a=15,b=23;
ch=getchar();
switch(ch)
{
case'a':
case'A':action1(a,b);break;
case'b':
case'B':action2(a,b);break;
default:putchar('\a');
}
return 0;
}
例4.8写一程序判断某一年是否为闰年
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if((n%4==0&&n%100!=0)||n%400==0)
printf("%d是闰年!\n",n);
else
printf("%d不是是闰年!\n",n);
return 0;
}
结果为:
例4.9求ax^2+bx+c=0方程的解
#include"stdio.h"
#include"math.h"
#include"delta_upper0.c"
#include"delta_equal_to0.c"
#include"delta_lower0.c"
int main(){
float a, b, c, delta;
printf("请输入a b c的值,以计算ax^2+bx+c=0的解。\n");
scanf("%f%f%f", &a, &b, &c);
printf("\n计算%.2fx^2 + %.2fx + %.2f = 0\n", a, b, c);
if(b*b-4*a*c>0)
delta_upper0(a, b, c);
if(b*b-4*a*c==0)
delta_equal_to0(a, b, c);
if(b*b-4*a*c<0)
delta_lower0(a, b, c);
return 0;
}
例4.10