| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 425 人关注过本帖
标题:求助中 不知道哪里有错 谢谢了
只看楼主 加入收藏
朱稳
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2011-11-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
求助中 不知道哪里有错 谢谢了
程序代码:
#include<stdio.h>
#define N 40
int readscore(int score[]);
int compare(int score[],int i);
int main()
{
    int score[N] ;
    readscore(score);
    printf("学生总数是%d\n",readscore(score));
    compare(score,readscore(score));
    printf("不及格人数是%d",compare(score,readscore(score)));
    return 0;
}
/*函数功能:读取成绩,返回学生人数。*/
int readscore(int score[])
{
    printf("输入学生成绩\n");
    int n=-1;
    do
    {
        n++;
        scanf("%d",&score[n]);
    }while(score[n]>=0);
    return n;
}
/*函数功能:累加不及格的人数。*/
int compare(int score[],int i)
{
    i=0;
    do
    {
        if(score[i]>=0&&score[i]<60)
        i++;
        else
        continue;
    }while(i<=readscore(score));
    return i;
}
2011-11-27 23:12
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
首先我问你一个 问题 用户 输入 -1000000 怎么办~?他 及格了吗?~    if(score[i]>=0&&score[i]<60)

...

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-11-27 23:22
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:20 
回复 2楼 零波丽
一看就是半瓶水的,人家的输入里面已经写while(xx>0)了,所以遇到负数就结束了,不过也只能在输入负数的时候停止

楼主的错误呢就一个,
int readscore(int score[])
{
    int n=-1;
    printf("输入学生成绩\n");//这里要把定义变量放在最前面,就行了
    do
    {
        n++;
        scanf("%d",&score[n]);
    }while(score[n]>=0);
    return n;
}

就是楼主的这个程序很烦躁,要输入那么多次,应该是在一开始输入一次,然后后面就用这个存储分数的数组来处理了
这个再修改下吧
2011-11-27 23:59
快速回复:求助中 不知道哪里有错 谢谢了
数据加载中...
 
   



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

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