实验报告
- 格式:doc
- 大小:251.50 KB
- 文档页数:7
实验目的
熟练地使用C编译软件编辑、编译、连接和运行程序
实验内容
实验1:用if语句写程序判断是否为闰年。
实验:2:用if语句输出分段函数
实验3:给一个不多于3位的正整数,要
求出它是几位数;
分别输出每一位数字
按新逆序输出各位数字,例如原数为321,应输出123。
实验4:定义取最大值函数
实验5:通过修改已知函数的参数加深对函数参数的理解
实验6:分别用if语句和switch语句实现如下程序:
从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。90-99为A级,80-89为B级,70-79为C级,60-69为D级,0-59为E级。
算法、流程图及主要符号说明
无
完整的程序清单
实验1
#include
#include
void main()
{
int a;
printf("请输入年份\n");
scanf("%d",&a);
if (a%400==0)
printf ("你输入的年份是闰年\n");
else if (a%4==0 && a%100!=0)
printf ("你输入的年份是闰年\n");
else
printf ("你输入的年份不是闰年\n");
}
实验2
#include
#include
void main()
{
double x,y;
printf("请输入x的值\n");
scanf("%lf",&x);
if (x<1)
printf("y=%lf",y=x);
else if (x>=10) printf("y=%lf",y=-3*x-11);
else
printf("y=%lf",y=2*x-1);
}
实验3
#include
#include
void main()
{
int x,m,n,h;
printf("请输入一个正整数\n");
scanf("%d",&x);
if (x>9)
printf("位数是2位\n");
else {printf("位数是1位\n");
}
m=(x/10);
n=(x%10);
printf("该数的十位是 %d,个位是 %d\n",m,n);
h=n*10+m;
printf("该数的逆序数 %d\n",h);
}
实验4
#include
#include
double tmax (double a,double b ,double c)
{
double tmax;
if (a > b)
tmax = a;
else
tmax = b;
if (c > tmax) tmax = c;
return tmax;
}
void main()
{
double x,y,z;
printf("请输入三个数\n");
scanf("%lf,%lf,%lf",&x,&y,&z);
printf("三者的最大值是 %.2f\n", tmax (x,y,z) );
}
实验5,
首先先把之前的程序清单写下
#include
#include
void c_area(double a,double b,double c,double d,double e)
{
double s=(a+b+c+d)/2.;
printf("a=%lf,b=%lf,c=%lf,d=%lf,e=%lf\n
c_area=%lf\n",a,b,c,d,e,sqrt((s-a)*(s-b)*(s-c)*(s-d)-a*b*c*d*cos(e/2*3.14/360)*cos(e/2*3.14/360)));
}
int main()
{
c_area(3,4,5,5,145);
return 0;
}
综合分析调试我遇到几个问题
一:输入数据类型错误导致无法运行。
二:输入的四边长不符合实际情况。
三:改进数据输入方式。
新的编程清单如下:
#include
#include
double c_area(double a,double b,double c,double d,double e)
{
double area;
double s=(a+b+c+d)/2.;
area=sqrt((s-a)*(s-b)*(s-c)*(s-d)-a*b*c*d*cos(e/2*3.14/360)*cos(e/2*3.14/360));
return area;
}
void main()
{
double a,b,c,d,e,s;
printf("请输入四边形的四条边和一个对角和\n");
scanf("a=%.2f,b=%.2f,c=%.2f,d=%.2f,e=%.2f\n c_area=%.2f\n",a,b,c,d,e);
if(a<=0 || b<=0 || c<=0 || d<=0 || e<=0 || e>=360)
printf("您输入的数据有问题\n");
else if ( a+b+c else printf("四边形的面积是 %.2f",c_area(a,b,c,d,e)); } 实验6 #include #include void main() { int x; printf("请输入成绩\n"); scanf("%d",&x); printf("通过if语句输出\n"); if (x>=90) printf("成绩为A\n"); else if (x>=80) printf("成绩为B\n"); else if (x>=70) printf("成绩为C\n"); else if (x>=60) printf("成绩为D\n"); else printf("成绩为E\n"); printf ("成绩通过switch语句输出\n"); int n; n=x/10; switch(n) { case 9 : printf("成绩为A\n");break; case 8 : printf("成绩为B\n");break; case 7 : printf("成绩为C\n");break; case 6 : printf("成绩为D\n");break; case 5 : case 4 : case 3 : case 2 : case 1 : case 0 : printf("成绩为E\n"); } } 输入数据及运行结果 实验1 实验2 实验3 实验4 实验5 实验6 调试分析和体会 这次的编程主要以自己不断的摸索,不断的实践,终于将作业完成了。虽然时间较以前花的跟多(因为以前有他人指导),不过感觉自己通过这次编程懂的了很多,收获很大。