文章内容较适合初学者,可用于练手,熟悉C语言基础语法。
一.涉及关键内容:
使用条件语句,if语句,switch语句构造选择结构程序
二.设计内容(题目+源代码)
1.编程实现输入一个英文字母,如该字符为小写字母则转为大写输出;如该字符是大写字母则转为小写输出。
#include "stdio.h"
int main()
{
char ch;
printf("请输入一个字母:");
scanf("%c",&ch);
if (ch >='a'&&ch <='z')
ch=ch-32;
else if (ch >='A'&&ch <='Z')
ch=ch+32;
else
printf("请输入一个正确的字母:");
printf("%c\n",ch);
return 0;
}
试运行:
![](https://i-blog.csdnimg.cn/blog_migrate/7c690b1074d93fa6c5466c4908864970.png)
2.编程实现:输入某年年份,判断该年是否为闰年。
(提示闰年算法:普通年能被4整除且不能被100整除的为闰年(如2004年),世纪年能被400整除的是闰年(如2000年))
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a%4==0 && a%100!=0)
printf("是闰年");
else if(a%400==0)
printf("是闰年");
else
printf("不是闰年");
return 0;
}
或者:
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(((a%4==0) && (a%100!=0)) || (a%400==0))
printf("是闰年");
else
printf("不是闰年");
return 0;
}
试运行:
![](https://i-blog.csdnimg.cn/blog_migrate/0d9a7e4f10f06d523135a7e317490a8f.png)
3.利用switch语句实现所得税统计,输入总收入,输出应缴纳所得税。
税率如下:
0~2999元 | 0% |
3000~4999元 | 3% |
5000~7999元 | 10% |
8000元以上 | 15% |
如,总收入为6000元,则其应纳税额=(6000-4999)*10%+(4999-2999)*3%=160.1元。
#include "stdio.h"
int main()
{
float income,tax;
int i;
printf("总收入为:");
scanf("%f",&income);
i=income/1000;
if (0<=i<=2)
i=0;
if (3<=i<=4)
i=1;
if (5<=i<=7)
i=2;
else
i=3;
switch(i)
{
case 0 :tax=0;break;
case 1 :tax=(income-2999)*0.03;break;
case 2 :tax=(income-4999)*0.1+(4999-2999)*0.03;break;
default :tax=(income-7999)*0.15+(7999-4999)*0.1+(4999-2999)*0.03;break;
}
printf("应缴纳所得税%.1f",tax);
return 0;
}
试运行:
![](https://i-blog.csdnimg.cn/blog_migrate/00c6f6abc39c8c3212ac0a9b1d5229cb.png)
4.从键盘输入4个数,将其中最大的数字输出。
#include "stdio.h"
int main()
{
float a,b,c,d,max;
printf("请输入四个数:");
scanf("%f%f%f%f",&a,&b,&c,&d);
if (a>b && a>c && a>d)
max=a;
else if (b>a && b>c && b>d)
max=b;
else if (c>a && c>b && c>d)
max=c;
else
max=d;
printf("最大的数为%.2f",max);
return 0;
}
也可以使用循环语句找出最大值。
#include <stdio.h>
int main()
{
float a[4];
int i;
float max;
printf("请输入四个数:");
for(i=0;i<4;i++)
{
scanf("%f",&a[i]);
}
max=a[0];
for(i=1;i<4;i++)
{
if(a[i]>max)
{
max=a[i];
}
}
printf("最大的数为%.2f",max);
return 0;
}
试运行:
![](https://i-blog.csdnimg.cn/blog_migrate/142388246e2f76de4d9ffb7187f2f45a.png)
注:本文中代码均应使用Dev C++运行,使用其它编译器可能出现各种语法错误。