| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 448 人关注过本帖
标题:高手帮我看看这个程序问题出在哪
只看楼主 加入收藏
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
结帖率:40%
收藏
已结贴  问题点数:15 回复次数:4 
高手帮我看看这个程序问题出在哪
#include<stdio.h>
#include<string.h>
void input(char s[20][20],int a[20])
{
    int i;
    for(i=0;i<20;i++)
        scanf("%s",s[i]);
    for(i=0;i<20;i++)
scanf("%d",&a[i]);   
}

void sort(char s[20][20],int a[20])
{
    int i,j,t;
    char m[3];
    for(j=0;j<=18;j++)
        for(i=0;i<=18-j;i++)
        {if(a[i]<a[i+1])
        {
            a[i]=t;a[i]=a[i+1];a[i++]=t;
            strcpy(s[i],m[3]);strcpy(s[i],s[i+1]);strcpy(s[i+1],m[3]);
        }}
}

        void display(char s[20][20],int a[20])
        {
int i;
for(i=0;i<=19;i++)
printf("%s-%d",s[i],a[i]);
        }

        void search(char s[20][20],int a[20])
        {
            int i;
            char n[3];
            while(1)
            {
                printf("Please input the name:");
                gets(n);
                for(i=0;i<=19;i++)
                    if(n[3]=s[i]) break;
            }
            printf("%d",a[i]);
        }

        void main()
        {
            int a[20];
            char s[20][20];
        void    input(char s[20][20],int a[20]);
void display(char s[20][20],int a[20]);
    void sort(char s[20][20],int a[20]);
void display(char s[20][20],int a[20]);
void search(char s[20][20],int a[20]);
        }
编写4个函数实现下列功能:
(1)函数input() 输入20个学生姓名和高考总分;
(2)函数sort() 按高考总分从高到低的顺序排序,姓名顺序也随之调整;
(3)函数display()显示学生姓名及其高考总分;
(4)在主函数中输入一个姓名,编写函数search() 用顺序查找方法找出该学生。若查找成功,在主函数中显示该生高考总分;
主函数功能:定义数组、调用Input()函数进行输入、调用display()函数输出原始数据、调用sort()函数排序、调用display()函数输出排序后结果、输入一个字符串,将其作为参数调用search()函数,根据返回值判定是否找到相同姓名,如果找到,输出其成绩
搜索更多相关主题的帖子: void display include 
2010-05-12 17:47
金亿
Rank: 2
等 级:论坛游民
帖 子:6
专家分:28
注 册:2010-5-12
收藏
得分:5 
不懂哦.我还想来学习的.
2010-05-12 18:26
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:5 
干吗不用结构体写呢
2010-05-12 20:14
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:5 
#include<stdio.h>
#include<string.h>
void input(char s[20][20],int a[20])
{
    int i;
    for(i=0;i<20;i++)
        scanf("%s",s[i]);
    for(i=0;i<20;i++)
scanf("%d",&a[i]);   
}

void sort(char s[20][20],int a[20])
{
    int i,j,t;
    char m[3];//这的数组最好开大点
    for(j=0;j<=18;j++)
        for(i=0;i<=18-j;i++)
        {if(a[i]<a[i+1])
        {
            a[i]=t;a[i]=a[i+1];a[i++]=t;
            strcpy(s[i],m[3]);strcpy(s[i],s[i+1]);strcpy(s[i+1],m[3]);
        }}
}

        void display(char s[20][20],int a[20])
        {
int i;
for(i=0;i<=19;i++)
printf("%s-%d",s[i],a[i]);
        }

        void search(char s[20][20],int a[20])
        {
            int i;
            char n[3];//这也一样 最好开大点
            while(1)
            {
                printf("Please input the name:");
                gets(n);
                for(i=0;i<=19;i++)
                   if(n[3]=s[i]) break;//if(strcmp(n,s[i])==0) break;
            }
            printf("%d",a[i]);
        }

        void main()
        {
            int a[20];
            char s[20][20];
        void    input(char s[20][20],int a[20]);
void display(char s[20][20],int a[20]);
    void sort(char s[20][20],int a[20]);
void display(char s[20][20],int a[20]);
void search(char s[20][20],int a[20]);
        }


[ 本帖最后由 草狼 于 2010-5-12 20:25 编辑 ]
2010-05-12 20:23
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:0 
又仔细看了下 原来还有很多错误
现在应该都改好了吧, LZ看下可以了不
#include<stdio.h>
#include<string.h>
void input(char s[20][20],int a[20])
{
    int i;
    for(i=0;i<20;i++)
        scanf("%s%d%*c",s[i],&a[i]);
   
}

void sort(char s[20][20],int a[20])
{
    int i,j,t;
    char m[20];
    for(j=0;j<=3;j++)
        for(i=0;i<=3-j;i++)
        {
            if(a[i]<a[i+1])
            {
                t=a[i];
                a[i]=a[i+1];
                a[i+1]=t;
               
               
                strcpy(m,s[i]);
                strcpy(s[i],s[i+1]);
                strcpy(s[i+1],m);
            }
        }
}

void display(char s[20][20],int a[20])
{
    int i;
    for(i=0;i<=4;i++)
        printf("%s-%d\n",s[i],a[i]);
}

void search(char s[20][20],int a[20])
{
    int i;
    char n[20];
    while(1)
    {
        printf("Please input the name:");
        scanf("%s",n);
        getchar();
        for(i=0;i<=4;i++)
            if(strcmp(n,s[i])==0)
                break;
            if(i<=4)  printf("%d\n",a[i]);
            else
                printf("error");
        
    }
   
}

void main()
{
    int a[20];
    char s[20][20];
    input(s,a);
    display(s,a);
    sort(s,a);
    display(s,a);
    search(s,a);
}
2010-05-12 20:49
快速回复:高手帮我看看这个程序问题出在哪
数据加载中...
 
   



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

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