作业帮 > 综合 > 作业

编程先由计算机“想”一个1~100之间的数请人猜,游戏者开始猜每一个数时有基本积分100分,猜错一次扣10分.如果人猜对

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/20 12:47:51
编程先由计算机“想”一个1~100之间的数请人猜,游戏者开始猜每一个数时有基本积分100分,猜错一次扣10分.如果人猜对了,在屏幕上输出人猜对此数获得的积分,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,积分已经扣完,则停止本次猜数,然后继续猜下一个数.每次运行程序可以反复猜10个数,直到猜完10个数后才结束,游戏最后在屏幕上输出人在猜每个数时得到的相应积分.游戏最后在屏幕上按照积分从高到低排序输出人在猜每个数时序号和积分.问题分析 在程序5的基础上增加数组num,数组元素num[0],num[1],num[2],num[3],……num[i]分别表示猜每个数时的序号.定义函数Play_Game(num,score),记录每次猜数所得的积分,定义函数Play_Sort(num,score) 按照人在猜每个数时所获得的积分从高到低排序,定义函数Play_Print(num,score) 输出人在猜每个数时序号和积分. #include<stdio.h>
 #include<stdlib.h>
 #include<time.h>
 void playgame(int num[],int score[])
 {
\x09int m,guess,count=0,i=0;
\x09srand(time(NULL));
\x09m=rand()%100+1;
\x09printf("input a number:\n");
\x09do
\x09{
\x09\x09score[i]=100;i++;count=0;num[i]=i;
\x09\x09\x09do
            {
\x09\x09\x09\x09scanf("%d",&guess);
\x09\x09\x09    count++;
\x09\x09\x09\x09if(guess>m)
\x09\x09\x09\x09\x09printf("Wrong!Too high!\n");
\x09\x09\x09\x09if(guess<m)
\x09\x09\x09\x09\x09printf("Wrong!Too low!\n");
\x09\x09\x09}while(count<10&&guess!=m);
\x09\x09printf("  %d\n",count);
\x09\x09score[i]=100-count*10;
\x09\x09printf("%d\n",num[i]);
\x09\x09printf("%d\n",score[i]);
\x09}while(i<10);
}
void playsort(int num[],int score[])
{
\x09int i,t;
\x09for(i=0;i<10;i++)
\x09{
\x09\x09num[i]=i++;
\x09\x09if(score[i]<score[i++])
\x09\x09t=score[i++];score[i++]=score[i];score[i]=t;
\x09}
}
void playprint(int num[],int score[])
{
\x09int i;
\x09playsort(int num[],int score[]);
\x09for(i=0;i<10;i++)
\x09\x09printf("%d%d\n",num[i],score[i]);
}
void main()
{
\x09 int score[10],num[10];
\x09 playgame(num,score);
\x09 playsort(num,score);
\x09 playprint(num,score);
}
你的playsort()函数中这一句:
t=score[i++];score[i++]=score[i];score[i]=t;
你的数组大小为10,当你i=9时,i++=10,超出了数组的范围.
还有,我试了一下,你的10个要猜的数是一模一样的,猜对了一个,后面的都知道了,需要改进吧?
编程先由计算机“想”一个1~100之间的数请人猜,游戏者开始猜每一个数时有基本积分100分,猜错一次扣10分.如果人猜对 编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,并在屏幕上输出人猜了多少次才猜对此数, 猜数游戏.由计算机产生一个100以内的随机数让人猜,如果猜对了则计算机给出提示:你猜对了,共猜了N次. 编程先由计算机出一个100到500间的数字让人猜.对了就出right.否则wrong.并告诉猜的人是大是小.每次电脑.. 10个数分三次随机取出三个数,一次猜一个数,猜中的概率是多少? 全班同学分五组进行游戏,每组基本分为100分,答对1题加50分,答错一题扣50分,游戏结束时,各组的得分如下: JAVA猜数字游戏:现在规则如下,输入一个1-100之间的数请人猜 四、程序设计题(每题10分,1、(10分)从键盘任意输入一个4位数x,编程计算x的每一 全班学生分为五个组进行游戏,每组的基本分为100分.答对一题加50分,答错一题扣50 分,游戏结束时 甲、乙两人做掷硬币的游戏,掷出正面甲得1分,掷出反面乙得1分,先得到3分的人赢一个大蛋糕.现有特殊事情游戏中途因故结束, 猜数字游戏题目描述:由计算机生成四个不重复的0-9之间的任意数,由玩家输入,计算机根据输入比较两组数字,给出类似xAyB (本小题满分12分)甲、乙两人玩数字游戏,先由甲 任想一个数字记为 a ,再由乙猜甲刚才想的数字,把乙想的数字记为 b