《C语言程序设计》实习报告.docx
《《C语言程序设计》实习报告.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实习报告.docx(16页珍藏版)》请在冰点文库上搜索。
![《C语言程序设计》实习报告.docx](https://file1.bingdoc.com/fileroot1/2023-7/19/d3dd2818-dc6a-43f2-a61c-6d1fe94ab742/d3dd2818-dc6a-43f2-a61c-6d1fe94ab7421.gif)
《C语言程序设计》实习报告
重庆城市管理职业学院
《C语言程序设计》实习报告
班级软件A1501
专业软件技术
学号
学生姓名
指导教师
评定成绩
信息工程学院
2016年06月21日
题目:
给小学生出加法考试题
编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程。
程序1通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!
”,否则显示“Notcorrect!
Tryagain!
”,程序结束。
程序2通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!
”,否则显示“Notcorrect!
Tryagain!
”,直到做对为止。
程序3通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!
”,否则提示重做,显示“Notcorrect!
Tryagain!
”,最多给三次机会,如果三次仍未做对,则显示“Notcorrect!
Youhavetriedthreetimes!
Testover!
”,程序结束。
程序4连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!
”,否则显示“Notcorrect!
”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。
程序5通过计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数,运算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!
”,否则显示“Notcorrect!
”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错题数。
实习目的:
1、进一步掌握和利用C语言进行程设计的能力。
2、进一步理解和运用结构化程设计的思想和方法。
3、初步掌握开发一个小型实用系统的基本方法。
4、学会调试一个较长程序的基本方法。
5、学会利用流程图或N-S图表示算法。
6、掌握书写程设计开发文档的能力(书写实习报告)。
实习要求:
项目
要求
作品
(1)有数据的输入和输出。
(2)源程序要有适当的注释,使程序容易阅读。
(3)各个题目的详细要求见前面的实习任务。
(4)学生作品要存档
实习报告
(1)包括:
题目、实习目的、实习要求、系统分析、数据结构设计及用法说明、程序结构(画流程图)、各模块的功能、源程序、测试结果(包括输入数据和输出结果)、实习总结、参考文献等。
(2)用A4纸打印,采用统—格式的封面。
(1)
系统分析:
将系统计算的值与答案相比较,相等则输出‘right’,不相等则输出‘Nocorrect!
Tryagain!
’。
程序结构(画流程图):
源程序:
#include"stdio.h"
voidmain()
{
inta;/*定义变量*/
printf("计算1+1=?
\n");/*打印题目*/
printf("请输入结果\n");
scanf("%d",&a);/*取值*/
if(a==2)/*判断*/
printf("Right!
\n");/*输出结果*/
else
printf("Nocorrect!
Tryagain!
\n");/*输出结果*/
}
测试结果(包括输入数据和输出结果):
(2)
系统分析:
在
(1)小题基础上
用while循环实现直到做对为止。
程序结构(画流程图):
源程序
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{
inta;/*定义变量*/
printf("计算1+1=?
\n");/*打印题目*/
printf("请输入结果\n");
scanf("%d",&a);/*取值*/
while(a!
=2)/*循环判断*/
{printf("notright!
\n");/*输出结果*/
scanf("%d",&a);
}
printf("right!
");/*输出结果*/
}
测试结果(包括输入数据和输出结果):
(3)
系统分析:
在
(2)小题基础上加上for的3次循环实现该功能。
程序结构(画流程图):
源程序
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{inta,i;/*定义变量*/
printf("计算1+1=?
\n");/*打印题目*/
printf("请输入结果\n");
for(i=1;i<=3;i++)/*for循环判断*/
{
scanf("%d",&a);/*取值*/
if(a==2)
{
printf("right\n");/*输出结果*/
break;
}
else
{
if(i!
=3)
printf("tryagain!
\n");/*输出结果*/
else
printf("timesout!
\n");/*输出结果*/
}
}
}
测试结果(包括输入数据和输出结果):
(4)
系统分析:
在(3)小题基础上加上产生随机数机制即可。
程序结构(画流程图):
源程序
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{
inta,b,c,t=0,f=0,i;/*定义变量*/
srand((int)time(NULL));//产生随机数
for(i=0;i<10;i++)/*for循环判断*/
{
a=1+rand()%10;
b=1+rand()%10;
printf("计算%d+%d=?
\n",a,b);/*打印题目*/
scanf("%d",&c);/*取值*/
if(c==a+b)
{
printf("right!
\n");/*输出结果*/
t=t+1;
}
else
{
printf("wrong!
\n");/*输出结果*/
f=f+1;
}
}
printf("正确%d道\n错误%d道\n总分%d\n",t,f,t*10);/*输出结果*/
}
测试结果(包括输入数据和输出结果):
(5)
系统分析:
在(4)小题基础上产生4个随机数分别代表加减乘除法实现。
程序结构(画流程图):
源程序
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
voidmain()
{
inta,b,c,t=0,f=0,i,x;/*定义变量*/
srand((int)time(NULL));
for(i=0;i<10;i++)/*for循环判断*/
{
a=1+rand()%10;/*产生随机数*/
b=1+rand()%10;
x=1+rand()%4;
if(x==1)
{
printf("计算%d+%d=?
\n",a,b);/*打印题目*/
scanf("%d",&c);/*取值*/
if(c==a+b)/*if条件选择*/
{
printf("right!
\n");/*输出结果*/
t=t+1;
}
else
{
printf("wrong!
\n");/*输出结果*/
f=f+1;
}
}
elseif(x==2)/*if条件选择*/
{
printf("计算%d-%d=?
\n",a,b);
scanf("%d",&c);
if(c==a-b)
{
printf("right!
\n");/*输出结果*/
t=t+1;
}
else
{
printf("wrong!
\n");/*输出结果*/
f=f+1;
}
}
elseif(x==3)/*if条件选择*/
{
printf("计算%d*%d=?
\n",a,b);
scanf("%d",&c);
if(c==a*b)
{
printf("right!
\n");/*输出结果*/
t=t+1;
}
else
{
printf("wrong!
\n");/*输出结果*/
f=f+1;
}
}
elseif(x==4)/*if条件选择*/
{
printf("计算%d/%d=?
\n",a,b);
scanf("%d",&c);
if(c==a/b)
{
printf("right!
\n");/*输出结果*/
t=t+1;
}
else
{
printf("wrong!
\n");/*输出结果*/
f=f+1;
}
}
}
printf("正确:
%d道\n错误:
%d道\n总分:
%d分\n",t,f,t*10);/*输出结果*/
}
测试结果(包括输入数据和输出结果):
实习总结:
看似很难的题,只要通过一步步的分解,再辅以网络查找资料,就能解决。
系统分析和画流程图有利于思路清晰化。
参考文献:
XX知道关于产生随机数的资料