c语言编程题及答案4.docx
- 文档编号:24728776
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:14
- 大小:16.76KB
c语言编程题及答案4.docx
《c语言编程题及答案4.docx》由会员分享,可在线阅读,更多相关《c语言编程题及答案4.docx(14页珍藏版)》请在冰豆网上搜索。
c语言编程题及答案4
c语言编程题及答案4
c语言编程题及答案(三)
1.给小学生出加法考试题
编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程。
程序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分统计总得分,然后打印出总分和做错题数。
【思考题】如果要求将整数之间的四则运算题改为实数之间的四则运算题,那么程序该如何修改呢?
请读者修改程序,并上机测试程序运行结果。
2.掷骰子游戏
编写程序模拟掷骰子游戏。
已知掷骰子游戏的游戏规则为:
每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和。
如果第一次投的点数和为7或11,则游戏者获胜;如果第一次投的点数和为2、3或12,则游戏者输;如果第一次投的点数和为4、5、6、8、9或10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该点数时算是游戏者获胜。
如果投掷7次仍未赚到该点数,则游戏者输。
【思考题】将游戏规则改为:
计算机想一个数作为一个骰子掷出的点数(在用户输入数据之前不显示该点数),用户从键盘输入一个数作为另一个骰子掷出的点数,再计算两点数之和。
其余规则相同,然后请读者重新编写该程序。
答案:
1.1。
。
#include
/*函数功能:
计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0
函数参数:
整型变量a和b,分别代表被加数和加数
函数返回值:
当a加b的结果与用户输入的答案相同时,返回1,否则返回0
*/
intAdd(inta,intb)
{
intanswer;
printf("%d+%d=",a,b);
scanf("%d",&answer);
if(a+b==answer)
return1;
else
return0;
}
/*函数功能:
打印结果正确与否的信息
函数参数:
整型变量flag,标志结果正确与否
函数返回值:
无
*/
voidPrint(intflag)
{
if(flag)
printf("Right!
\n");
else
printf("Notcorrect!
\n");
}
main()
{
inta,b,answer;
printf("Inputa,b:
");
scanf("%d,%d",&a,&b);
answer=Add(a,b);
Print(answer);
}
1.2。
。
。
#include
/*函数功能:
计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0
函数参数:
整型变量a和b,分别代表被加数和加数
函数返回值:
当a加b的结果与用户输入的答案相同时,返回1,否则返回0
*/
intAdd(inta,intb)
{
intanswer;
printf("%d+%d=",a,b);
scanf("%d",&answer);
if(a+b==answer)
return1;
else
return0;
}
/*函数功能:
打印结果正确与否的信息
函数参数:
整型变量flag,标志结果正确与否
函数返回值:
无
*/
voidPrint(intflag)
{
if(flag)
printf("Rright!
\n");
else
printf("Notcorrect.Tryagain!
\n");
}
main()
{
inta,b,answer;
printf("Inputa,b:
");
scanf("%d,%d",&a,&b);
do
{
answer=Add(a,b);
Print(answer);
}while(answer==0);
}
1.3。
。
。
#include
/*函数功能:
计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0
函数参数:
整型变量a和b,分别代表被加数和加数
函数返回值:
当a加b的结果与用户输入的答案相同时,返回1,否则返回0
*/
intAdd(inta,intb)
{
intanswer;
printf("%d+%d=",a,b);
scanf("%d",&answer);
if(a+b==answer)
return1;
else
return0;
}
/*函数功能:
打印结果正确与否的信息
函数参数:
整型变量flag,标志结果正确与否
整型变量chance,表示同一道题已经做了几次还没有做对
函数返回值:
无
*/
voidPrint(intflag,intchance)
{
if(flag)
printf("Right!
\n");
elseif(chance<3)
printf("Notcorrect.Tryagain!
\n");
else
printf("Notcorrect.Youhavetriedthreetimes!
\nTestover!
\n");
}
main()
{
inta,b,answer,chance;
printf("Inputa,b:
");
scanf("%d,%d",&a,&b);
chance=0;
do
{
answer=Add(a,b);
chance++;
Print(answer,chance);
}while((answer==0)&&(chance<3));
}
1.4。
。
。
#include
#include
#include
/*函数功能:
计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0
函数参数:
整型变量a和b,分别代表被加数和加数
函数返回值:
当a加b的结果与用户输入的答案相同时,返回1,否则返回0
*/
intAdd(inta,intb)
{
intanswer;
printf("%d+%d=",a,b);
scanf("%d",&answer);
if(a+b==answer)
return1;
else
return0;
}
/*函数功能:
打印结果正确与否的信息
函数参数:
整型变量flag,标志结果正确与否
函数返回值:
无
*/
voidPrint(intflag)
{
if(flag)
printf("Rright!
\n");
else
printf("Notcorrect!
\n");
}
main()
{
inta,b,answer,error,score,i;
srand(time(NULL));
error=0;
score=0;
for(i=0;i<10;i++)
{
a=rand()%10+1;
b=rand()%10+1;
answer=Add(a,b);
Print(answer);
if(answer==1)
score=score+10;
else
error++;
}
printf("score=%d,errornumbers=%d\n",score,error);
}
1.5。
。
。
#include
#include
#include
/*函数功能:
对两整型数进行加、减、乘、除四则运算
如果用户输入的答案与结果相同,则返回1,否则返回0
函数参数:
整型变量a和b,分别代表参加四则运算的两个操作数
整型变量op,代表运算类型,
当op值为1,2,3,4时,分别执行加、减、乘、整除运算
函数返回值:
当用户输入的答案与结果相同时,返回1,否则返回0
*/
intCompute(inta,intb,intop)
{
intanswer,result;
switch(op)
{
case1:
printf("%d+%d=",a,b);
result=a+b;
break;
case2:
printf("%d-%d=",a,b);
result=a-b;
break;
case3:
printf("%d*%d=",a,b);
result=a*b;
break;
case4:
if(b!
=0)
{
printf("%d/%d=",a,b);
result=a/b;/*注意这里是整数除法运算,结果为整型*/
}
else
{
printf("Divisionbyzero!
\n");
}
break;
default:
printf("Unknownoperator!
\n");
break;
}
scanf("%d",&answer);
if(result==answer)
return1;
else
return0;
}
/*函数功能:
打印结果正确与否的信息
函数参数:
整型变量flag,标志结果正确与否
函数返回值:
无
*/
voidPrint(intflag)
{
if(flag)
printf("Rright!
\n");
else
printf("Notcorrect!
\n");
}
main()
{
inta,b,answer,error,score,i,op;
srand(time(NULL));
error=0;
score=0;
for(i=0;i<10;i++)
{
a=rand()%10+1;
b=rand()%10+1;
op=rand()%4+1;
answer=Compute(a,b,op);
Print(answer);
if(answer==1)
score=score+10;
else
error++;
}
printf("score=%d,errornumbers=%d\n",score,error);
}
2.。
。
。
#include
#include
#include
introllDice(void);
main()
{
enumStatus{CONTINUE,WON,LOST};
intsum,myPoint,count=0;
enumStatusgameStatus;
srand(time(NULL));
sum=rollDice();
switch(sum)
{
case7:
case11:
gameStatus=WON;
break;
case2:
case3:
case12:
gameStatus=LOST;
break;
default:
gameStatus=CONTINUE;
myPoint=sum;
printf("Pointis%d\n",myPoint);
break;
}
while(gameStatus==CONTINUE)
{
sum=rollDice();
count++;
if(sum==myPoint)
{
gameStatus=WON;
}
elseif(count==7)
{
gameStatus=LOST;
}
}
if(gameStatus==WON)
{
printf("Playerwins\n");
}
else
{
printf("Playerloses\n");
}
}
introllDice(void)
{
intdie1,die2,workSum;
die1=1+rand()%6;
die2=1+rand()%6;
workSum=die1+die2;
printf("Playerrolled%d+%d=%d\n",die1,die2,workSum);
returnworkSum;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 答案