c语言编程题及答案.docx

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

c语言编程题及答案.docx

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

c语言编程题及答案.docx

c语言编程题及答案

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模板 > 商务科技

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

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