| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 548 人关注过本帖
标题:求大家帮我看看这个程序哪里出问题了,只能输入几个。。
只看楼主 加入收藏
编程的未来
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-3-21
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
求大家帮我看看这个程序哪里出问题了,只能输入几个。。
求大家帮我看看这个程序哪里出问题了,只能输入几个。。
#include <stdio.h>
#define SIZE 5

struct student //定义结构体
{
    int ID; //学号
    char name[20]; //姓名
    int math_marks; //数学成绩
    int computer_marks; //计算机成绩
    int english_marks; //英语成绩
    int average;
};
void ShellSort(struct student a[],int N)//希尔排序
{
    struct student t;
     int i,j,gap;
     for (gap=N/2;gap>0;gap=gap/2)
      {
         for(i=gap;i<=N;i++)
//           for(i=gap+1;i<=N;i++)
        {              
             j=i-gap;
              while(j>=0)
              {
                if(a[j].average>a[j+gap].average)
                {
                 t=a[j];
                 a[j]=a[j+gap];
                 a[j+gap]=t;
                 j=j-gap;
                }
                 else break;
               }
        }
        }
}
int main()
{
    struct student a[SIZE];
  
 // int a[] = {45,65,11,21,36,7,98,100,73,61};
  
   int i;
   for(i=0;i<SIZE;i++)//输入学生信息
    {
        printf("请输入第%d个学生的学号",i+1);
        scanf("%d",&a[i].ID);
        printf("请输入第%d个学生的姓名",i+1);
        scanf("%s",&a[i].name);
        printf("请输入第%d个学生的数学成绩",i+1);
        scanf("%d",&a[i].math_marks);
        printf("请输入第%d个学生的计算机成绩",i+1);
        scanf("%d",a[i].computer_marks);
        printf("请输入第%d个学生的英语成绩",i+1);
        scanf("%d",&a[i].english_marks);
        printf("请输入第%d个学生的平均分",i+1);
        scanf("%d",&a[i].average);
        
    }
  ShellSort(a,SIZE);
  for(i=0;i<SIZE;i++)
  {
     printf("%d,%s,%d,%d,%d,%d",a[i].ID,a[i].name,a[i].math_marks,a[i].computer_marks,a[i].english_marks,a[i].average);
  }
   return 0;           
}
                                       
搜索更多相关主题的帖子: 结构体 计算机 include average 英语成绩 
2013-06-07 14:22
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:10 
程序代码:
#include <stdio.h>

 #define SIZE 4

 struct student //定义结构体
{
     int ID; //学号
    char name[20]; //姓名
    int math_marks; //数学成绩
    int computer_marks; //计算机成绩
    int english_marks; //英语成绩
    int average;

 };

 void ShellSort(struct student a[],int N)//希尔排序
{
     struct student t;
      int i,j,gap;
      for (gap=N/2;gap>0;gap=gap/2)
       {
          for(i=gap;i<=N;i++)

 //           for(i=gap+1;i<=N;i++)
         {
              j=i-gap;
               while(j>=0)
               {
                 if(a[j].average>a[j+gap].average)
                 {
                  t=a[j];
                  a[j]=a[j+gap];
                  a[j+gap]=t;
                  j=j-gap;
                 }
                  else break;
                }
         }
         }

 }

 int main()

 {
     struct student a[SIZE];

 // int a[] = {45,65,11,21,36,7,98,100,73,61};
    int i;
    for(i=0;i<SIZE;i++)//输入学生信息
    {
         printf("请输入第%d个学生的学号",i+1);
         scanf("%d",&a[i].ID);
         printf("请输入第%d个学生的姓名",i+1);
         scanf("%s",&a[i].name);
         printf("请输入第%d个学生的数学成绩",i+1);
         scanf("%d",&a[i].math_marks);
         printf("请输入第%d个学生的计算机成绩",i+1);
         scanf("%d",&a[i].computer_marks);
         printf("请输入第%d个学生的英语成绩",i+1);
         scanf("%d",&a[i].english_marks);
         printf("请输入第%d个学生的平均分",i+1);
         scanf("%d",&a[i].average);
     }
   ShellSort(a,SIZE);
   for(i=0;i<SIZE;i++)
   {
      printf("%d,%s,%d,%d,%d,%d",a[i].ID,a[i].name,a[i].math_marks,a[i].computer_marks,a[i].english_marks,a[i].average);
   }
    return 0;

 }
输入少了&

仰望星空...........不忘初心!
2013-06-09 02:55
快速回复:求大家帮我看看这个程序哪里出问题了,只能输入几个。。
数据加载中...
 
   



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

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