| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 564 人关注过本帖
标题:快来帮帮忙,一个题为什么编译不了?欢迎高手来看看
只看楼主 加入收藏
byl601177789
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-9-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
快来帮帮忙,一个题为什么编译不了?欢迎高手来看看
#include <stdio.h>
#include <stdlib.h>
void count(int num,char name[])   /*    产生随机加法题   */
{ int total=0;                    /*    总得分   */
int n=0,i,num1,num2;
for(i=1; i<=5; i++)
{num1=rand()%num +1;       /*    产生num范围内的随机加法数1   */
num2=rand()%num +1;       /*    产生num范围内的随机加法数2   */
printf("第%d道题:\n",i);
printf("%d + %d = ",num1,num2);
printf("请输入你的答案: ");
scanf("%d",&n);
if(num1+num2==n)            /*    判断是否答对  */
{printf("你答对了。%c\n",7);  /*   7为响铃    */
total=total+2;
}
else                         /*    答错的处理  */
{printf("你答错了。\n");
printf("请再次输入你的答案:.\n");
scanf("%d",&n);
if(num1+num2==n)
{printf("你终于答对了。\n");
total=total+1;
}
else
printf("对不起你又错了,又没得分。\n");
}
}
printf("%s同学你的总分数是:%d分\n",name,total*10);     /*   结果处理  */
}
void main( )
{char name[30];
 printf("请输入你的中文名字:");
 gets(name);
 printf("\n\n\t%s%s%s%c\n\n","欢迎",name,"参加算术加法运算测试",2);
 count(10,name);
}

搜索更多相关主题的帖子: 编译 欢迎 
2009-09-20 13:28
byl601177789
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-9-20
收藏
得分:0 
这题好难啊!
2009-09-20 13:34
moondark
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:158
注 册:2009-9-6
收藏
得分:0 
有错吗?
2009-09-20 13:41
moondark
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:158
注 册:2009-9-6
收藏
得分:0 
不好意思。。。刚刚一下子没说完。。。
这个测简单计算的游戏在我的编译器里面都是可以运行的。
可能是你编译器不支持rand()函数吧。
2009-09-20 13:47
byl601177789
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-9-20
收藏
得分:0 
可是这是老师给的作业啊,让我们挑出问题
2009-09-20 13:50
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:6 
问题就是没有初始化随机数,造成每次运行的5个算法都相同。

努力—前进—变老—退休—入土
2009-09-20 13:53
byl601177789
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-9-20
收藏
得分:0 
能给我具体讲一下怎么改正么??  谢谢了
2009-09-20 13:55
byl601177789
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-9-20
收藏
得分:0 
这题改了后,要能在Microsoft Visual C++中编译! 希望大家帮帮忙!
2009-09-20 13:58
IWAnt
Rank: 2
来 自:nefu
等 级:论坛游民
帖 子:18
专家分:25
注 册:2009-9-20
收藏
得分:6 
呵呵 ,没错嘛,能运行啊 ? 你的编译器可能有问题 !或者是之前你修改的时候没有将前面的错误结果更新 ,而导致修改后运行还是前面的结果!我用的vc++ 2008 速成版

我的双眼看湿了你的肩膀,你会用多久路过我的身旁
2009-09-20 14:00
moondark
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:158
注 册:2009-9-6
收藏
得分:6 
我觉得唯一可能的解释就是你产生随机数的方法不够随机,你可以发现,每次做的不但题目都是一样的,顺序都是一样的。。
可以用时间作为随机数种子来产生随机数,这样就够随机的。
 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>                 //把时间include进去
void count(int num,char name[])   /*    产生随机加法题   */
{
    int total=0;                    /*    总得分   */
    int n=0,i,num1,num2;
    srand(time(NULL));             //申明以时间作为随机数种子
    for(i=1; i<=5; i++)
    {
        num1=rand()%num +1;       /*    产生num范围内的随机加法数1   */
        num2=rand()%num +1;       /*    产生num范围内的随机加法数2   */
        printf("第%d道题:\n",i);
        printf("%d + %d = ",num1,num2);
        printf("请输入你的答案: ");
        scanf("%d",&n);
        if(num1+num2==n)            /*    判断是否答对  */
        {
            printf("你答对了。%c\n",7);  /*   7为响铃    */
            total=total+2;
        }
        else                         /*    答错的处理  */
        {
            printf("你答错了。\n");
            printf("请再次输入你的答案:.\n");
            scanf("%d",&n);
            if(num1+num2==n)
            {
                printf("你终于答对了。\n");
                total=total+1;
            }
            else
                printf("对不起你又错了,又没得分。\n");
        }
    }
    printf("%s同学你的总分数是:%d分\n",name,total*10);     /*   结果处理  */
}
int main( )                             //这里可以改为int返回值,省得编译器报warning
{
    char name[30];
    printf("请输入你的中文名字:");
    gets(name);
    printf("\n\n\t%s%s%s%c\n\n","欢迎",name,"参加算术加法运算测试",2);
    count(10,name);
    return 0                        //对应上面的int
}

其他的都应该没什么问题,我提出的这些其实也算不上什么问题。
2009-09-20 14:19
快速回复:快来帮帮忙,一个题为什么编译不了?欢迎高手来看看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018433 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved