| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
ADSL如何秒变专线,公网IP盒子了解一下千里之行 始于足下
共有 259 人关注过本帖
标题:有大佬帮忙看看问题嘛
只看楼主 加入收藏
潇君
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2019-6-10
结帖率:0
  已结贴   问题点数:20  回复次数:4   
有大佬帮忙看看问题嘛
无法调用下面的函数,,,怎么都看不出问题,基本是按照老师的打出来的。(刚学)
#include<stdio.h>
#include"stdlib.h"
#define NUMS 100
//int menu();
int input_score(int array[],int n);
void sum_score(int array[],int n);
int max_score(int array[],int n);
void jx_score(int array[],int n);
void sx_score(int array[],int n);
void find_score(int array[],int n);
void tj_score(int array[],int n);
int sort_score(int array[],int n);
int field_score(int array[],int count,int field);


int menu()
{
//    system("cls");
    int x;
    printf("\n\n\n\n");
    printf("                 学生成绩管理系统v1.0\n\n");
    printf("                         菜单\n\n");
    printf("           * * * * * * * * * * * * * * * * * * * * * * \n");
    printf("           *     1.输入成绩       2.计算总分及平均分 * \n");
    printf("           *     3.求最高分       4.降序排列成绩     * \n");
    printf("           *     5.升序排列成绩   6.查找成绩         * \n");
    printf("           *     7.统计分析       8.显示学生列表     * \n");
    printf("           *     9.退出系统                          * \n");
    printf("           * * * * * * * * * * * * * * * * * * * * * * \n");
    printf("\n\n\n\n");
    printf("                  请输入您的选择(0~9):");
    scanf("%s",&x);
    return x;
}


//----------------------------------------------------
int input_score(int array[],int n)
{
    int i=0;
    int x;
    int count=0;
    while(1)
    {
        printf("输入第%d个学生成绩:\n",count+1);
        scanf("%d",&x);
        if(x>=0&&x<=100)
        {
            array[count]=x;
            count++;
        }
        else
            break;
    }
    return count;
}
//-----------------------------------------------------------
void print_score(int array[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        printf("%d ",array[i]);
        if((i+1)%5==0)
            printf("\n");
    }
    printf(" \n");
}
//---------------------------------------------------------------
int max_score(int array[],int n)
{
    int i;
    int max=array[0];
    for(i=1;i<n;i++)
        if(max<array[i])
            max=array[i];
    return max;
}
//-------------------------------------------------------
void jx_sort(int array[],int n)
{
    int i,j;
    int temp;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(array[i]<array[j])
            {
                temp=array[i];
                array[i]=array[j];
                array[j]=temp;
            }
        }
    }
}
//-------------------------------------------------
void select_sort(int array[],int n)
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
            if(array[j]<array[k])
                k=j;
            if(k!=i)
            {
                t=array[k];
                array[k]=array[i];
                array[i]=t;
            }
    }
}
//--------------------------------------------------
void find_score(int array[],int n)
{
    int x,i;
    printf("输入要查找的数:");
    scanf("%d",&x);
    for(i=0;i<n;i++)
    {
        if(array[i]==x)
        {
            printf("恭喜你! 查找到此数:%d",array[i]);
            return ;
        }
    }
    printf("查无此数!");
}
//---------------------------------------------------
void tj_score(int array[],int n)
{
    int a=0,b=0,c=0,d=0,e=0,i;
    for(i=0;i<n;i++)
    {
        if(array[i]>=90)
        {
            a++;
            printf("%.1f--A\n",array[i]);
        }
        else if(array[i]>=80)
        {
            b++;
            printf("%.1f--B\n",array[i]);
        }
        else if(array[i]>=70)
        {
            c++;
            printf("%.1f--C\n",array[i]);
        }
        else if(array[i]>=60)
        {
            d++;
            printf("%.1f--D\n",array[i]);
        }
        else
        {
            e++;
            printf("%.1f--E\n",array[i]);
        }
    }
    printf("优秀%d人,占总人数的百分比:%.2f%%\n",a,(float)a/n*100);
    printf("良好%d人,占总人数的百分比:%.2f%%\n",b,(float)b/n*100);
    printf("中等%d人,占总人数的百分比:%.2f%%\n",c,(float)(c)/n*100);
    printf("及格%d人,占总人数的百分比:%.2f%%\n",d,(float)d/n*100);
    printf("不合格%d人,占总人数的百分比:%.2f%%\n",e,(float)e/n*100);
}
//---------------------------------------------------------------------------

int main()
{
    int score[NUMS]={0};
    int count=0;
    int m;
    int z;
     while(1)
    {
        z=menu();
        switch(z)
        {
        case 1:input_score(score,NUMS);break;
    //    case 2:sum_score(score,count);break;
        case 3:max_score(score,count);break;
    //    case 4:jx_score(score,count);break;
    //    case 5:sx_score(score,count);break;
        case 6:find_score(score,count);break;
        case 7:tj_score(score,count);break;
    //    case 8:sort_score(score,count);break;
        //case 0:quit();break;
        }
     }
     return z;
}
搜索更多相关主题的帖子: int array count printf break 
2019-06-10 12:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:313
帖 子:6509
专家分:37778
注 册:2011-1-18
  得分:20 
无法调用下面的函数
听不懂什么意思?

若编译失败,贴出编译器给出的错误信息。
能运行的话,贴出 你的输入、实际输出、期待的输出。

2019-06-10 12:49
潇君
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2019-6-10
  得分:0 
回复 楼主 潇君
就是,编译和链接都能成功,但键入1~9的命令时,没有调用相应的函数。(输入1-9没发生变化)
2019-06-10 14:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:313
帖 子:6509
专家分:37778
注 册:2011-1-18
  得分:0 
scanf("%s",&x);
scanf("%d",&x);
2019-06-10 14:44
潇君
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2019-6-10
  得分:0 
回复 4楼 rjsp
感谢大佬!!!!,还真是这个问题。。定义的是int
2019-06-10 15:15







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

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