c语言实验题目汇总3~12 下载本文

int main() { }

接下来往{}里面return 0;前添加代码进行实现

2. 定义字符型char变量存储用户输入的字符:char a; 3. printf函数提示用户输入字符:

printf(“请输入一个英文字符,回车结束”);

4. scanf函数把用户输入的英文字符,输入控制符用%c,放入字符型char变

量a中

scanf(“%c”,&a);

5. 考虑输入的是小写字母的情况,用关系运算符>=和<=和逻辑运算符并且&& (a >=’a’&&a<=’z’)

6. 考虑输入的是大写字母的情况,用关系运算符>=和<=逻辑运算符并且&&

(a >=’A’&&a<=’Z’)

7. 输入的是大写字母,输入的是小写字母和用户输入的不是英文字符这三种情

况用if...else if...else进行处理

if (a >=’a’&&a<=’z’) { }

else if (a >=’A’&&a<=’Z’) {

printf(“%c\\n”,a+32); //转换成小写字符; } else {

printf(“用户输入的不是英文字符”); printf(“%c\\n”,a-32); //转换成大写字符; return 0;

}

实验题目3假定征税的办法如下:收入在800元以下(含800元)的不征税;收入在800元以上,1200元以下者,超过800元的部分按5%收税;收入在1200元以上, 2000元以下者,超过1200元的部分按8%收税;收入在2000元以上者,2000元以上部分按按20%的税率收税,试编写按收入计算税费的程序(要求用switch语句编写程序) 提示:

1. 首先写c程序的基本框架

#include //包含基本输入输出头文件stdio.h int main() {

return 0;

}

接下来往{}里面return 0;前添加代码进行实现

2. 定义变量存储用户输入的收入s_r,不同征收情况的整数值p,不同情况的

整数值就是switch后面的那个值p,应缴税收shui_shou: int s_r,p; double shui_shou;

3. printf函数提示用户输入收入: printf(“请输入你的收入,回车结束”); 4. scanf函数把用户输入的收入,放入变量s_r中 scanf(“%d”,&s_r);

5. 根据不同收入s_r的征税shui_shou情况不同进行考虑

收入小于800元 不征税 s_r<=800 shui_shou=0.0

收入大于800元小于1200元 超过800元的部分按5%收税; 800< s_r <=1200 shui_shou =( s_r -800)*0.05 收入在1200元以上2000元以下者 超过1200元的部分按8%收税

12002000 shui_shou =400*0.05+800*0.08+(s_r-2000)*0.2

6. 如何将条件表达式转换成整数数值:(s_r-800)/100 条件表达式 s_r<=800 800< s_r <=1200 12002000 转换算数表达式 (s_r-800)/100 (s_r-800)/100 (s_r-800)/100 (s_r-800)/100 转换成的整数值,就是case后面的那个整数值 0 1,2,3,4 4,5,6,7,8,9,11,12 7. 不同的征收税收的情况对应的整数值p相等的情况如何处理呢? 例如:假设收入分别为1200元和1220元 ,采用转换公式p=(s_r-800)/100 , s_r表示收入: (1200-800)/100=4 (1220-800)/100=4

对应的整数值p都是4

但是根据题目要求:收入在1200元以上, 2000元以下者,超过1200元的部分按8%收税;得知收入1200元和1220元征收税额应该不同。 假设收入分别为1200元,1220元 我们发现

(1200-800)0=0 等于0

(1220-800)0=20 不等于0

采用(s_r-800)0!=0,即收入减去800对100取余数不等于0 采用(s_r-800)0=0,即收入减去800对100取余数等于0 进行条件判断。

如果不等于0,则加1,就是整数值p加1,采用p=(s-800)/100+1; 如果等于0,则不加1,整数值p不加1,采用p=(s-800)/100; !=表示不等于 代码如下:

if ((s_r-800)0!=0)

p=(s_r-800)/100+1; else

p=(s_r-800)/100;//p为switch后面的表达式 8. 不同情况的处理采用switch

switch(p) {

case0:shui_shou =0.00;break; case 1: case 2: case3: case 4:

shui_shou =(s_r-800)*0.05; break; case 5: case 6: case 7: case 8: case 9 case 10: case 11: case 12:

shui_shou=400*0.05+(s_r-1200)*0.08; break default:

shui_shou =400*0.05+800*0.08+(s_r-2000)*0.2; } 9. 输出计算得出的应缴税额和收入

printf(“你的收入为%d元\\n”,s_r);

printf(“你的应缴税额为%lf元\\n”,shui_shou);

实验6 分支结构嵌套和for循环编程练习

实验题目1 输入三角形的三条边的边长,从键盘输入三个整数,判断能否构成三角形的三边,如果能就判定它是等边还是等腰还是直角三角形还是任意三角形,并输出三角形的名称。 提示:

1. 首先写c程序的基本框架

#include //包含基本输入输出头文件

int main() { }

接下来往{}里面,return 0;前添加代码进行实现 2. 定义变量存储三角形三边:double a,b, c,

3. printf函数提示用户输入三条边: printf(“请输入三个整数,中间用空格分开”); 4. scanf函数把用户输入的三个值,放入变量a,b,c中

scanf(“%lf %lf %lf”,&a,&b,&c); 5. 考虑输入的三条边不构成三角形的情况,即要求任意两边之和大于第三边采

用关系运算符>和逻辑运算符并且&&

(a+b>c&&a+c>b&&b+c>a) 6. 等边三角形的判断条件:(a==b&&b==c&&c==a) 7. 等腰三角形的判断条件:(a==b||b==c||c==a)

8. 直角三角形的判定条件,两边的平方的和等于第三边:(a*a + b*b == c*c ||b*b +

c*c == a*a || a*a + c*c == b*b ) 9. 构成三角形和构成三角形类型,用if嵌套进行处理

if (a+b>c&&a+c>b&&b+c>a) {

if (a==b&&b==c&&==a) {

printf(“这是一个等边三角形”); }

else if (a==b||b==c||c==a) {

printf(“这是一个等腰三角形”); }

return 0;

else if (a*a + b*b == c*c ||b*b + c*c == a*a || a*a + c*c == b*b )

{ }

else { }

实验题目2 输入今天的日期y(年),m(月),d(日),输出明天的日期 提示:

1. 首先写c程序的基本框架

#include //包含基本输入输出头文件 int main() { }

return 0;

printf(“输入的三条边不构成三角形”); printf(“这是一个直角三角形”); }

接下来往{}里面,return 0;前添加代码进行实现 2. 定义整型int变量存储用户输入的年y,月m,日d:int y,m,d; 3. printf函数提示用户输入今天的日期:

printf(“请输入今天的日期,输入格式为2012 3 27”); 4. scanf函数把用户输入的年月日,分别放入整型int变量y,m,d中

scanf(“%d %d %d”,&y,&m,&d); 5. 几种不同情况的考虑,采用if…else if…else if…else进行处理

闰年的判断条件:该年能被4整除y%4==0,并且&&不能被100整除y0!=0,或者||该年能被400整除 y@0==0 a) 如果输入的日期是闰年的2月29日

if (y%4==0&&y0!=0|| y@0==0&&m==2&&d==29) 明天的日期为3月1日

printf(“明天的日期为%d年 %d月 %d日”,y,m=3,d=1); b) 如果输入的日期是平年的2月28日 else if (m==2&&d==28) 明天的日期为3月1日

printf(“明天的日期为%d年 %d月 %d日”,y,m=3,d=1); c) 如果输入今天的日期为一年的最后一天 else if (m==12&&d==31),