标题:请问为啥运行不对,题:假设每班人数最多不超过40人,具体人数由键盘输入,打 ...
只看楼主
唐兵
Rank: 2
来 自:四川泸州合江
等 级:论坛游民
帖 子:150
专家分:12
注 册:2012-12-1
结帖率:82.05%
已结贴  问题点数:5 回复次数:2 
请问为啥运行不对,题:假设每班人数最多不超过40人,具体人数由键盘输入,打印最高分和学号
#include <stdio.h>
void f(char c[10],int *p )
{
    int max,i;
    char x[100];
    max=*p,x[0]=c[0];
    for(i=0;i<40;i++)
        if (max<*p)
        {
            max=*p;
        x[0]=c[i];
        }
        printf("%s%d\n",x[0],max);
}
void main()
{
    int a[100],i,n;
    char b[100];
    printf("the number of people(<=40)\n");
        scanf("%d\n",&n);

        printf("input the  student number and grade\n ");
    for (i=0;i<n;i++)
    {

        scanf("%s%d\n",b[i],a[i]);
   
    }

    f(b,a);

}
搜索更多相关主题的帖子: max people include number 
2012-12-23 12:45
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:3 
具体的还没细看,但这里有个比较明显的错误        scanf("%s%d\n",b[i],a[i]);
b是一个一维的字符串,楼主向单个字符串元素输入字符串明显是不行的,b应该是二维数组啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-23 12:51
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
得分:3 
程序代码:
#include <stdio.h>
#include <string.h>

void f(char c[][100],int *p,int n )
{
    int max = p[0];
    int i = 0;
    char max_name[100];
   
    strcpy(max_name, c[0]);
    for(i=0;i<n;i++)
        if (max < p[i])
        {
            max = p[i];
            strcpy(max_name,c[i]);
        }
        printf("\n\n%-8s:%d\n",max_name,max);
}
void main()
{
    int a[40];
    int i = 0;
    int n = 0;
    char b[40][100];
    printf("the number of people(<=40)\n");
        scanf("%d",&n);

        printf("input the  student number and grade\n");
    for (i=0;i<n;i++)
        scanf(" %s %d",b[i],&a[i]);

    f(b,a,n);
} 

I have not failed completely
2012-12-23 14:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-393052-1-1.html




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

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