C语言课程实践实践1实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言实验报告二1”。
实验报告
1.程序源代码
程序1 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并告诉人所猜的数是大还是小,然后结束游戏。要求每次运行程序时机器所“想”的数不能都一样。#include #include #include void main(){
int input_number;
int random_number;srand((unsigned)time(NULL));random_number = rand()%100+1;printf(“输入您想猜的0~100之间的数:”);scanf(“%d”,&input_number);if(input_number >= 0 && input_number
if(input_number == random_number)
{
printf(“nright!”);
}
else if(input_number > random_number)
{
printf(“n您猜的数过大n”);
}
else
{
printf(“n您猜的数过小n”);
} }
else
{
printf(“n您猜的数应在0~100之间”);} } 程序2 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。#include #include #include void main(){
int input_number;
int random_number;int n;srand((unsigned)time(NULL));random_number = rand()%100+1;for(n=1;;n++){
printf(“输入您想猜的0~100之间的数:”);scanf(“%d”,&input_number);if(input_number >= 0 && input_number
if(input_number == random_number)
{
printf(“nright!n”);
if(n==1)
{
printf(“n您猜了%d次,太牛逼了.n”,n);break;
}
else if(n>1&&n
{
printf(“n您一共猜了%d次,水平还行.n”,n);break;
}
else
{
printf(“n您一共猜了%d次,才猜对,很勉强啊.n”,n);break;
}
}
else if(input_number > random_number)
printf(“n您猜的数过大n”);
else
printf(“n您猜的数过小n”);
else
printf(“n您猜的数应在0~100之间”);} } 程序3 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。
#include #include #include void main(){
int input_number;
int random_number;int n;srand((unsigned)time(NULL));random_number = rand()%100+1;for(n=1;n
printf(“输入您想猜的0~100之间的数:”);scanf(“%d”,&input_number);if(input_number >= 0 && input_number
if(input_number == random_number)
{
printf(“nright!n”);
if(n==1)
{
printf(“n您猜了%d次,太牛逼了.n”,n);break;
}
else if(n>1&&n
{
printf(“n您一共猜了%d次,水平还行.n”,n);break;
}
else
{
printf(“n您一共猜了%d次,才猜对,很勉强啊.n”,n);break;
}
}
else if(input_number > random_number)
printf(“n您猜的数过大,您还有%d次机会n”,10-n);
else
printf(“n您猜的数过小,您还有%d次机会n”,10-n);
else
printf(“n您猜的数应在0~100之间”);} if(n==11)
printf(“n你输了!n”);}
程序4 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。#include #include #include void main(){
int input_number;
int random_number;int n,i=1;
game: srand((unsigned)time(NULL));random_number = rand()%100+1;for(n=1;n
printf(“第%d轮游戏,输入您想猜的0~100之间的数:”,i);scanf(“%d”,&input_number);if(input_number >= 0 && input_number
if(input_number == random_number)
{
printf(“nright!n”);
if(n==1)
{
printf(“n您猜了%d次,太牛逼了.n”,n);break;
}
else if(n>1&&n
{
printf(“n您一共猜了%d次,水平还行.n”,n);break;
}
else
{
printf(“n您一共猜了%d次,才猜对,很勉强啊.n”,n);break;
}
}
else if(input_number > random_number)
printf(“n您猜的数过大,您还有%d次机会n”,10-n);
else
printf(“n您猜的数过小,您还有%d次机会n”,10-n);
else
printf(“n您猜的数应在0~100之间”);}
} if(n==11){ printf(“n你输了!n”);i=i+1;goto game;} 2.遇到的问题及解决方法
问题1:随机数如何调用?
解决方法:运用srand((unsigned)time(NULL))函数。
问题2:”直到人猜对为止”功能如何实现? 解决办法:运用一个“无穷循环”,另游戏能够不断进行,并运用break语句停止于猜对情况。
问题3: “以此来反映猜数者“猜”的水平”功能的实现?
解决办法:在猜对情况下的if语句中嵌套if语句实现“猜数次数”的判断,分支输出“猜”的水平。
问题4:“每次运行程序可以反复猜多个数”功能的实现?
解决办法:此功能比较困难,但反复阅读程序后,发现代码并不复杂,运用goto语句和if语句的运用进行循环,即可实现此功能,且不会因为运用goto语句造成程序模块的混乱。
3.总结(心得体会)
这是“C语言课程实践”的第一次实践,由于平时并没接触过Microsoft Visual C++ 6.0这个编译软件,因此刚开始还存在操作方面的苦难。经过一两节课的实践,能够熟悉界面和学会新建工程。
此次实践题目是“猜数游戏”,题目分成4个部分,其实内容相同,只是功能逐渐增加。鉴于这种题目,编写程序中需要思考预留部分,比如运用if语句嵌套时,要注意把“猜对”、“猜错”和“误猜”分支出来,使程序容易阅读也容易进行修改。
在编写程序过程中,遇到几个核心问题,通过学习后把困难一个个突破,并成功实现题目所要求的功能。
最后,我对编程有进一步认识,而且在编程调试过程中,能够从中发现问题并解决问题,这是程序能够走向成功的必经之路,也是带来成功喜悦必不可少的过程。