广州大学学生实验报告四
一、实验目的
(1)熟练掌握关系表达式和逻辑表达式的使用。
(2)熟练掌握用if语句和嵌套的if语句实现多分支结构程序设计。
(3)熟练掌握switch语句实现多分支结构程序设计。
二、实验设备
实验设备要求每个学生一台电脑,并需装有VC++ 6.0程序。
三、实验内容
(一)编写程序:输入月薪 salary,输出应交的个人所得税tax(保留2位小数)。
(文件名:
ch04_1.cpp)
计算公式: tax=rate*(salary-850)
当salary<=850时,rate=0
当850<salary<=1350 时,rate=5%
当1350<salary<=2850 时,rate=10%
当2850<salary<=5850 时,rate=15%
当5850<s1350alary 时,rate=20%
要求输入输出示例:(运行5次)
第一次运行:
请输入月薪:1010.87
tax=8.04
第二次运行:
请输入月薪:32098.76
tax=6249.75
第三次运行:
请输入月薪:800
tax=0.00
第四次运行:
请输入月薪:4010
tax=474.00
第五次运行:
请输入月薪:2850
tax=200.00
(二)编写程序:输入一个形式如“操作数运算符操作数”的表达式,对2个整数进行乘、
除或求余运算。
(文件名:ch04_2.cpp)
要求输入输出示例:(运行3次)
第一次
输入 x 运算符 y:21 % 8
21 % 8 = 5
第二次
输入 x 运算符 y:4 * 8
4 * 8 = 32
第三次
输入 x 运算符 y:21 / 7
21 / 7 = 3
(三)编写程序:输入4个整数,按由大到小的顺序输出。
(文件名:ch04_3.cpp)
要求输入输出示例:
请输入a,b,c,d=3 5 1 9
9 > 5 > 3 > 1
(四)编写程序:验证:任何4个相邻的自然数(0除外)的乘积不是完全平方数,但乘积加
1后则是完全平方数,如15*16*17*18=73440不是,但73441=271*271是。
(文件名:ch04_4.cpp)(提示:验证一个自然数是否是完全平方数,可将这个数先开平方再平方,看能否得到原数。
)
要求输入输出示例:
请输入n:5
n=5 s=1680 sqrt(1680)=40.987803
1680+1=1681=41*41
结论正确
四、实验过程及最终效果(完成的网页代码及网页屏幕截图)
实验代码:
一.#include <stdio.h>
void main(void)
{
float tax,rate,salary;
printf("请输入月薪:\n");
scanf("%f",&salary);
if(salary<=850)
{
rate=0;
tax=0.00;
printf("tax=% .2f\n",tax);
}
else if(850<salary&&salary<=1350) {
rate=0.05;
tax=rate*(salary-850);
printf("tax=% .2f\n",tax);
}
else if(1350<salary&&salary<=2850) {
rate=0.1 ;
tax=rate*(salary-850);
printf("tax=% .2f\n",tax);
}
else if(2850<salary&&salary<=5850) {
rate=0.15 ;
tax=rate*(salary-850);
printf("tax=% .2f\n",tax);
}
else if(5850<salary)
{
rate=0.2;
tax=rate*(salary-850);
printf("tax=% .2f\n",tax);
}
}
二.#include <stdio.h>
#include <math.h>
int main (void)
{
int x,y;
char sign;
printf ("输入 x 运算符 y:");
scanf("%d%c%d",&x,&sign,&y);
if(sign=='*')
{
printf("%d * %d=%d\n",x,y,x * y);
}
else if(sign=='/')
{
printf("%d / %d \ =%d\n",x,y,x / y); }
else if(sign=='%')
{
printf("%d mod %d=%d\n",x,y,x % y); }
else
{
printf("运算符输入错误! \n");
}
}
三.# include<stdio.h>
void main(void)
{
int i,j,t,a[4];
printf("请输入四a,b,c,d四个数字:");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(j=0;j<3;j++)
for(i=0;i<3-j;i++)
{ if(a[i]<a[i+1])
{ t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("数字从大到小输出:\n"); for(i=0;i<4;i++)
printf("%d> ",a[i]);
printf("\n");
}
实验结果:
二.
三.
四.
五、实验结果分析和实验心得:。