24小时热门版块排行榜    

查看: 710  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zyj8119

木虫 (著名写手)


[交流] 【求助】为什么此程序不对?

CODE:
#include
#define N 10
struct list
{    char city[10];
     float m[3],aver;
};
void aver_sort(struct list a[],int n)
{    int i,j,k;
     int  temp;
         for(i=0;i          {for(j=0;j<3;j++)
              a[i].aver+=a[i].m[j];
         a[i].aver/=3;
         }
         for(i=0;i          { k=i;
         for(j=i+1;j                  if(a[j].aver>a[k].aver)k=j;
                 if(k!=i)
                 { temp=a[j].m[i];a[j].m[i]=a[k].m[i];a[j].m[i]=temp;}
         }
}

void main()
{   struct list a[N]={{"Nanjing",36.6,43.6,40.9,0},{"Xian",35.4,39.8,41.7,0},{"Guangzhou",39.5,40.2,38.2,0}};
    int i,j;
        aver_sort(a,3);
        for(i=0;i<3;i++)
        {   printf("%10s:",a[i].city);
            for(j=0;j<3;j++)
                printf("%6.1f",a[i].m[j]);
        printf("%6.1f\n",a[i].aver);
        }
}

正确答案为:
        Nanjing: 36.7 43.6 40.9 40.4
  Guangzhou: 39.5 40.2 38.2 39.3
             Xian: 35.4 39.8 41.7 39.0
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

smart0193

木虫 (小有名气)


zyj8119(金币+5):谢谢每次顶贴!!! 2010-12-17 23:16:58
数据类型问题。aver_sort函数的变量temp的类型应为float.
3楼2010-12-17 19:55:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by zyj8119 at 2010-12-17 16:13:47:
[code]#include
#define N 10
struct list
{    char city[10];
     float m[3],aver;
};
void aver_sort(struct list a[],int n)
{    int i,j,k;
     int  temp;
         for(i=0;i

就是求各个城市的平均人数,然后按平均人数大小排序。
2楼2010-12-17 16:15:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by smart0193 at 2010-12-17 19:55:53:
数据类型问题。aver_sort函数的变量temp的类型应为float.

应该怎么改呢?
4楼2010-12-17 20:45:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by smart0193 at 2010-12-17 19:55:53:
数据类型问题。aver_sort函数的变量temp的类型应为float.

还是一样的错误啊,输出还是不对。
6楼2010-12-17 23:16:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见