资源描述
淮海工学院计算机科学系
试验汇报书
课程名:《 C语言程序设计A 》
题 目: 试验2 程序步骤设计
—— 选择结构程序设计
班 级: 软嵌151
学 号: 123349
姓 名: 陈正宁
评语:
成绩: 指导老师:
批阅时间: 年 月 日
1、 试验内容或题目
(1) 编写一个程序,输入一个字母,若为大写字母,将其转换为小写字母后输出,不然原样输出。
(2)编写一个程序判定用户输入字符是数字字符、字母字符还是其它字符。
(3)编写一个程序,输入年号和月份,判定该年是否为闰年,并依据给出月份判定是什么季节和该月有多少天?闰年条件是年号能被4整除但不能被100整除,或能被400整除。
(4)编写一个程序,求ax2+bx+c=0方程根。
(5)给出一个百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。(要求使用switch语句)
2、试验目标和要求
(1)深入熟悉熟悉VC++6编译环境,掌握利用VC编译C程序基础方法;
(2)学会使用C语言常见运算符,和包含这些运算符表示式;
(3)掌握常见步骤控制结构(次序、选择),学会利用这两种控制结构编写C程序。
3、 试验步骤和源程序
⑴ 试验步骤
(1)、
(2)、
(3) 、
(4)、
(5) 、
⑵ 源代码
(1)、
#include<stdio.h>
int main()
{
char ch;
scanf("%c",&ch);
if(ch>='A'&&ch<='Z')
{
ch+=32;
printf("%c\n",ch);
}
else
printf("%c\n",ch);
return 0;
}
(2)、
#include<stdio.h>
int main()
{
char ch;
ch=getchar();
if(ch>='0'&&ch<='9')
printf("您输入是数字字符\n");
else if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
printf("您输入是字母字符\n");
else
printf("您输入是其它字符\n");
return 0;
}
(3) 、
#include<stdio.h>
int main()
{
int year,month,days,leap;
scanf("%d %d", &year,&month);
if(year%4==0&&year%100!=0||year%400==0)
leap=1;
else
leap=0;
if(leap)
printf("%d is a leap year\n",year);
else
printf("%d is not a leap year\n",year);
{
if(leap=1)
{
if(month==2)
printf("the month has 29 days\n");
else if(month==1||3||5||7||8||10||12)
printf("the months has 31 days\n");
else
printf("the months has 30 days\n");
}
}
{
if(leap=0)
{
if(month==2)
printf("the month has 28 days\n");
else if(month==1||3||5||7||8||10||12)
printf("the months has 31 days\n");
else
printf("the months has 30 days\n");
}
}
{
if(month>=3&&month<=5)
printf("spring\n");
else if (month>=6&&month<=8)
printf("summer\n");
else if (month>=9&&month<=11)
printf("autumn\n");
else
printf("winter\n");
return 0;
}
}
(4)、
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,disc,x1,x2,p,q; //disc是判别式sqrt(b*b-4ac)
printf("请输入[a,b,c enter]\n");
scanf("%lf%lf%lf",&a,&b,&c);
disc=b*b-4*a*c;
if(0==a)
{
if(0==b)
{
if(0==c)
printf("此方程有任意解.\n");
else // a=0 b=0 c!=o
printf("此方程无解.\n");
}
else // a=0 b=!0
{
x1=-c/b;x2=-c/b;
printf("此方程解为:x1=x2=%lf\n",x1,x2);
}
}
if(0!=a)
{
if(disc<0)
printf("此方程无实数根\n");
else
{
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;x2=p-q;
printf("此方程两个实数根为:x1=%7.2f,x2=%7.2f\n",x1,x2);
}
}
}
(5)、
#include<stdio.h>
int main()
{
int score;
printf("You score:");
scanf("%d",&score);
switch((int)score/10)
{
case 10:
case 9:
printf("You grade:A\n");
break;
case 8:
printf("You grade:B\n");
break;
case 7:
printf("You grade:C\n");
break;
case 6:
printf("You grade:D\n");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("You grade:E\n");
break;
}
return 0;
}
4、 测试数据和试验结果(能够抓图粘贴)
(1)、
(2)、
(3) 、
(4)、
(5)、
5、 结果分析和试验体会
结果分析:
(1)第三题一开始时候不知道怎样用算法判定某十二个月是否为闰年。然后用if语句时候常常不能实现题目标要求。
(2)第四题忘记讨论a=0情况,分类不根本。
试验体会:
(1) 在C语言中选择结构关键是用if语句实现。
(2) if语句中比较难就是if语句嵌套,一定要搞清楚嵌套if中各个if配对关系
(3) 当用到多分支选择时候通常使用switch语句。
展开阅读全文