c语言编程题及答案Word格式.docx

上传人:b****6 文档编号:19590074 上传时间:2023-01-08 格式:DOCX 页数:12 大小:16.74KB
下载 相关 举报
c语言编程题及答案Word格式.docx_第1页
第1页 / 共12页
c语言编程题及答案Word格式.docx_第2页
第2页 / 共12页
c语言编程题及答案Word格式.docx_第3页
第3页 / 共12页
c语言编程题及答案Word格式.docx_第4页
第4页 / 共12页
c语言编程题及答案Word格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

c语言编程题及答案Word格式.docx

《c语言编程题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《c语言编程题及答案Word格式.docx(12页珍藏版)》请在冰豆网上搜索。

c语言编程题及答案Word格式.docx

【思考题】如果要求将整数之间的四则运算题改为实数之间的四则运算题,那么程序该如何修改呢?

请读者修改程序,并上机测试程序运行结果。

2.掷骰子游戏

编写程序模拟掷骰子游戏。

已知掷骰子游戏的游戏规则为:

每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和。

如果第一次投的点数和为7或11,则游戏者获胜;

如果第一次投的点数和为2、3或12,则游戏者输;

如果第一次投的点数和为4、5、6、8、9或10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该点数时算是游戏者获胜。

如果投掷7次仍未赚到该点数,则游戏者输。

【思考题】将游戏规则改为:

计算机想一个数作为一个骰子掷出的点数(在用户输入数据之前不显示该点数),用户从键盘输入一个数作为另一个骰子掷出的点数,再计算两点数之和。

其余规则相同,然后请读者重新编写该程序。

 

答案:

1.1。

#include<

stdio.h>

/*函数功能:

计算两整型数之和,如果与用户输入的答案相同,则返回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

Notcorrect!

main()

inta,b,answer;

Inputa,b:

"

%d,%d"

a,&

b);

answer=Add(a,b);

Print(answer);

1.2。

intanswer;

Rright!

Notcorrect.Tryagain!

do

{

answer=Add(a,b);

Print(answer);

}while(answer==0);

1.3。

整型变量chance,表示同一道题已经做了几次还没有做对

voidPrint(intflag,intchance)

elseif(chance<

3)

Notcorrect.Youhavetriedthreetimes!

\nTestover!

inta,b,answer,chance;

chance=0;

chance++;

Print(answer,chance);

}while((answer==0)&

&

(chance<

3));

1.4。

stdlib.h>

time.h>

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;

if(answer==1)

score=score+10;

error++;

}

score=%d,errornumbers=%d\n"

score,error);

1.5。

对两整型数进行加、减、乘、除四则运算

如果用户输入的答案与结果相同,则返回1,否则返回0

函数参数:

整型变量a和b,分别代表参加四则运算的两个操作数

整型变量op,代表运算类型,

当op值为1,2,3,4时,分别执行加、减、乘、整除运算

函数返回值:

当用户输入的答案与结果相同时,返回1,否则返回0

intpute(inta,intb,intop)

intanswer,result;

switch(op)

case1:

printf("

%d+%d="

result=a+b;

break;

case2:

%d-%d="

result=a-b;

case3:

%d*%d="

result=a*b;

case4:

if(b!

=0)

{

printf("

%d/%d="

result=a/b;

/*注意这里是整数除法运算,结果为整型*/

}

else

Divisionbyzero!

default:

Unknownoperator!

if(result==answer)

inta,b,answer,error,score,i,op;

op=rand()%4+1;

answer=pute(a,b,op);

2.。

introllDice(void);

enumStatus{CONTINUE,WON,LOST};

intsum,myPoint,count=0;

enumStatusgameStatus;

sum=rollDice();

switch(sum)

case7:

case11:

gameStatus=WON;

case12:

gameStatus=LOST;

gameStatus=CONTINUE;

myPoint=sum;

Pointis%d\n"

myPoint);

while(gameStatus==CONTINUE)

sum=rollDice();

count++;

if(sum==myPoint)

{

gameStatus=WON;

}

elseif(count==7)

gameStatus=LOST;

if(gameStatus==WON)

Playerwins\n"

Playerloses\n"

introllDice(void)

intdie1,die2,workSum;

die1=1+rand()%6;

die2=1+rand()%6;

workSum=die1+die2;

Playerrolled%d+%d=%d\n"

die1,die2,workSum);

returnworkSum;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1