下面是小编为大家整理的C语言猜数游戏实验报告(精选文档),供大家参考。希望对大家写作有帮助!
C语言猜数游戏实验报告3篇
【篇一】C语言猜数游戏实验报告
实验报告
实验题目:选择结构程序设计
实验目的:
(1)了解C语言表示逻辑量的方法(以0代表“假”以非0代表“真”)。
(2)学会正确使用逻辑运算算符和逻辑表达式。
(3)熟练掌握if语句的使用(包括if语句的嵌套)。
(4)熟练掌握多分支选择语句——switch语句。
(5)结合程序掌握一些简单的算法。
(6)进一步学习调试程序的方法。
实验内容:
本实验要求事先编好解决下面问题的程序,然后上级输入程序并调试运行程序。
(1)有一函数:
输入的值,输出相应的值。用scanf函数输入的值,求值(第四章第六题)
运行程序,输入的值(分别为x1000)
{printf("输入的数据有误,请重新输入:",M);
scanf("%d",&i);
}
k=sqrt(i);
printf("%d的平方根的整数部分是%d\n",i,k);
return 0;
}
2)调试通过的运行结果:
3)调试过程出现的问题说明及处理方法:
Compiling...
c4_4.c
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10) : error C2018: unknown character "0xa3"
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10) : error C2018: unknown character "0xbb"
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11) : error C2146: syntax error : missing ";" before identifier "scanf"
F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(13) : warning C4244: "=" : conversion from "double " to "int ", possible loss of data
执行 cl.exe 时出错.
c4_4.exe - 1 error(s), 0 warning(s)
答:
因为把第十行的“;”在中文模式输入,变成了“;
”导致编译错误。
(3)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E.90分以上为A,81~89分为B,70~79分为C,60分~69分为D,60分以下为E。
1事先编好程序,要求分别用if语句和switch语句来实现。运行程序,并检查结果是否正确。
1)调试通过的程序清单如下:
#include
void main()
{
int g,s;
char ch;
printf("\n输入学生的分数:");
scanf("%d",&g);
s=g/10;
if(s10)
printf("\n输入数据错误!\n\n");
else
{
switch(s)
{
case 10:
case 9:ch="A";break;
case 8:ch="B";break;
case 7:ch="C";break;
case 6:ch="D";break;
default:ch="E";
}
printf("\n学生的成绩等级是:%c\n\n",ch);
}
}
2)调试通过的运行结果:
3)调试过程出现的问题说明及处理方法:
(1)编译提示信息如下:
Compiling...
c4_4.c
c4_4.obj - 0 error(s), 0 warning(s)
(2)连接提示信息如下:
Linking...
c4_4.exe - 0 error(s), 0 warning(s)
原因分析:
由于忽略了在程序中加入换行符,导致输出成绩等级和“Press any ey to contine”连在一起。
2再运行一次程序,输入分数为负值,这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100和小于0时,通知用户“输入数据错误”。程序结束。
答:在编写程序的时候已经考虑到了该情况,第一次编写时已经进行了优化,能够自动处理该情况的出现。以下是运行结果:
(4)输入4个整数,要求按由小到大顺序输出,在得到正确结果后,修改程序使之按由大到小的顺序输出。
1)调试通过的程序清单如下:
#include
int main()
{
int a,b,c,d,t;
printf("请依次输入四个整数以空格隔开。\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(a>d)
{
t=a;
a=d;
d=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
if(b>d)
{
t=b;
b=d;
d=t;
}
if(c>d)
{
t=c;
c=d;
d=t;
}
printf("四个整数经从小到大的顺序排列后的结果如下\n");
printf("%d,%d,%d,%d\n",a,b,c,d);
return 0;
}
2)程序运行的结果:
从大到小排列的程序是:
1)通过排列的程序清单如下:
#include
int main()
{
int a,b,c,d,t;
printf("请依次输入四个整数以空格隔开。\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a
【篇二】C语言猜数游戏实验报告
电子信息工程学院《C语言程序设计》实验报告
姓名:
潘美娟 学号:222013314011016
实验序号: 第 3 次实验
实验名称:最简单的C程序设计—顺序程序设计
实验目的:
(1)掌握C语言中使用最多的一种语句—赋值语句的使用方法;
(2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符;
(3)进一步掌握编写程序和调试程序的方法。
实验内容:
(1)通过下面的程序掌握各种格式转换符的正确使用方法;
①输入以下程序:
# include
int main()
{int a,b;
double d,e;
char c1,c2;
double f,g;
long m,n;
unsigned int p,q;
a=61;b=62;
c1="a";c2="b";
d=3.56;e=-6.87;
f=3157.890121;g=0.123456789;
m=50000;n=-40000;
p=32768;q=-60000;
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,q,m,n,p,q);
}
②运行此程序并分析结果。
③在此基础上,将程序第10~14行改为
c1=a;c2=b;
f=3157.890121;g=0.123456789;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,分析结果。
代码:
sizeof(int) = 4sizeof(float) = 4;sizeof(double) = 8;sizeof(char) = 1;char *p;sizeof( p) = 4;sizeof(long) = 4;sizeof( unsigned int) = 4;
运行结果:②
③
④用sizeof运算符分别检测程序中各类型的数据占多少字节。例如,int型变量a的字节数为sizeof(a)或sizeof(int),用printf函数语句输出各类型变量的长度(字节数)
代码:
sizeof(int) = 4sizeof(float) = 4;sizeof(double) = 8;sizeof(char) = 1;char *p;sizeof( p) = 4;sizeof(long) = 4;sizeof( unsigned int) = 4;
(2)设圆的半径r=1.5,圆柱高h=3,求圆周长,圆面积,园球表面积,圆球体积、圆柱体积。编程序,用scanf 输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字。
代码:
#include
int main ()
{float h,r,l,s,sq,vq,vz;
float pi=3.141526;
printf("请输入圆半径r,圆柱高h∶");
scanf("%f,%f",&r,&h); //要求输入圆半径r和圆柱高h
l=2*pi*r; //计算圆周长l
s=r*r*pi; //计算圆面积s
sq=4*pi*r*r; //计算圆球表面积sq
vq=3.0/4.0*pi*r*r*r; //计算圆球体积vq
vz=pi*r*r*h; //计算圆柱体积vz
printf("圆周长为: l=%6.2f\n",l);
printf("圆面积为: s=%6.2f\n",s);
printf("圆球表面积为: sq=%6.2f\n",sq);
printf("圆球体积为: v=%6.2f\n",vq);
printf("圆柱体积为: vz=%6.2f\n",vz);
return 0;
}
(实验运行结果)
结果说明:任意输入圆半径r和圆柱高h,均可自动得到上述五个值。
(3)题目:计算存款利息。
有1000元,想存5年,可按以上5种办法存:
①一次存5年期。
②先存2年期,到后期将本息再存3年期。
③先存3年期,到期后将本息再存2年期。
④先存1年期,到期后将本息再存1年期,连续存5次。
存活期存款。活期利息每一季度结算一次。
银行存款利率:中国银行2015年最新利率表
(1)活期存款 0.35
(2)定期存款
1.整存整取
代码:
#include
#include
int main()
{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;
p=1000;
r5=0.040;
r3=0.0375;
r2=0.0325;
r1=0.0275;
r0=0.0035;
p1=p*((1+r5)*5); // 一次存5年期
p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期
p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期
p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次
p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次
printf("p1=%f\n",p1); // 输出按第1方案得到的本息和
printf("p2=%f\n",p2); // 输出按第2方案得到的本息和
printf("p3=%f\n",p3); // 输出按第3方案得到的本息和
printf("p4=%f\n",p4); // 输出按第4方案得到的本息和
printf("p5=%f\n",p5); // 输出按第5方案得到的本息和
return 0;
}
运算结果:
结果说明:
p1输出按第1方案得到的本息和为5200
p2输出按第2方案得到的本息和为1184.8
p3输出按第3方案得到的本息和为1184.8
p4输出按第4方案得到的本息和为1455.8
p5输出按第5方案得到的本息和为1017.6
(4)题目:编程序将“china”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“china”应译为“glmre”。请编一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为‘C’,’h’,‘i’,‘n’,‘a’,经过运算使c1,c2,c3,c4,c5分别变为‘C’,’h’,‘i’,‘n’,‘a’。分别用putchar函数和printf函数输出这5个字符。
①输入事先已编好的程序,并运行改、该程序。分析是否符合要求。
②改变c1,c2,c3,c4,c5的初值为‘T’,’O’,’d’,’a’,’y’,对译码规律作如下补充:‘W’用‘A’代替,‘X’用‘B’代替,‘Y’用‘C’代替,‘Z’用‘D’代替。修改程序并运行。
③将译码规律修改为:将一个字母被它前面第4个字母代替,例如‘E’用‘A’代替,’Z‘用’U‘代替,用’D‘代替’Z‘,’C‘用’Y‘代替,’B‘用’X‘代替,’A‘用’V‘代替。修改程序并运行。
代码:
①#include
int main()
{char c1="C",c2="h",c3="i",c4="n",c5="a";
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5);
return 0;
}
②#include
int main()
{char c1="T",c2="o",c3="d",c4="a",c5="y";
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5);
return 0;
}
③#include
int main()
{char c1="e",c2="z",c3="d",c4="y",c5="b"c6="a";
c1=c1-4;
c2=c2-4;
c3=c3-4;
c4=c4-4;
c5=c5-4;
c6=c6-4;
printf("passwor is %c%c%c%c%c%c\n",c1,c2,c3,c4,c5,c6);
return 0;
}
运行结果:①
结果说明:程序使得China→Glmre
②
结果说明:程序使得Today→Xshec
③
结果说明:程序使得China→Xshec
实验总结:
①第一个程序运行时,一直报错,分析原因有程序本身的单词拼写错误和数据类型不符,经过修改,运行出正确结果;
②程序输入不熟悉,容易输错,经过不断调试,才运行出结果;
③编程序真的很费劲,每个算法需好好斟酌。
实验序号: 第 4次实验
实验名称:选择结构程序设计
实验目的:
(1)了解C语言表示的逻辑量的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语言的使用(包括if语言的嵌套)。
(4)熟练掌握分支选择语句—switch语句。
(5)结合程序掌握一些简单的算法。
(6)进一步学习调试程序的方法。
实验内容:
第一题:
有一函数:写程序,输入y相应的值。用scanf函数输入x的值,求y值。
运行程序,输入x的值(分别为xM)
{printf("输入的数不符合要求,请重新输入一个小于%d的整数i:",M);
scanf("%d",&i);
}
k=sqrt(i);
printf("%d的平方根的整数部分是:%d\n",i,k);
return 0;
}
运行结果:
结果说明:运行结果显而易见;
第三题:
给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,81—89分为B,70-79分为C,60-69分为D,60分以下为E。
①事先编好程序,要求分别用if语句和switch语句来实现。运行程序,并检查结果是否正确。
②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100小于0时,通知用户“输入数据错”,程序结束。
代码:
#include
int main()
{ float score;
char grade;
printf("请输入学生成绩:");
scanf("%f",&score);
while (score>100||scoreb)
{ t=a;a=b;b=t;}
if (a>c)
{ t=a;a=c;c=t;}
if (a>d)
{ t=a;a=d;d=t;}
if (b>c)
{ t=b;b=c;c=t;}
if (b>d)
{ t=b;b=d;d=t;}
if (c>d)
{ t=c;c=d;d=t;}
printf("排序结果如下: \n");
printf("%d %d %d %d \n" ,a,b,c,d);
return 0;
}
②修改后的程序:
#include
int main()
{int a,b,c,d ,t;
printf("请输入四个数:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
if (a="a" && c="A" && c="0" && c="A" && c="a" && c="0" && c0)
{x1=(x2+2)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/
x2=x1;
day--;
}
printf("total=%d\n",x1);
return 0;
}
运行结果:①
结果说明:第一天一共摘了1534个桃;
②
结果说明:第一天一共摘了2556个桃;
实验总结:程序比较容易想,思路清楚,且老师上课已经给出一些代码,所以比较快完成这个实验。
实验序号: 第 6次实验
实验名称:数组
实验目的:
(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。
(2)掌握字符数组和字符串函数的使用。
(3)掌握与数组有关的算法(特别是排序算法)。
实验内容:
第:一题:
用选择法对10个整数排序。10个整数用scanf函数输入。
代码:
#include
int main()
{int i,j,min,temp,a[11];
printf("enter data:\n");
for (i=1;i
【篇三】C语言猜数游戏实验报告
金陂科扶暑院
学生实验报告册(理工类)课程名称:C语言程序设计 专业班级:
学生学号:
学生姓名:
所属院部:
指导教师:
20———20_学年 第_学期
金陵科技学院教务处制
实验报告书写要求实验报告上交电子稿, 标题采用四号黑体, 正文采用小四号宋体, 单倍行距。
实验报告书写说明实验报告中实验目的和要求、 实验仪器和设备、实验内容与过程、 实验结果与分析这四项内容为必需项。
教师可根据学科特点和实验具 体要求增加项目。
填写注意事项(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现, 以零分论处 。
实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验 报告的批改成绩采用五级记分制或百分制, 按《金陵科技学院课堂教 学实施细则》中作业批阅成绩评定要求执行。