找一下这个程序的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:33:39
#include<stdio.h>
#define NUM 3
typedef struct{
char num[10];
char name[30];
float money;
}INFORMATION;
void input(INFORMATION[]);
float aver(INFORMATION[]);
void search(INFORMATION[]);
void main()
{
INFORMATION a[NUM];
input(a);
printf("\nThe aver sorce is %5.2f\n",aver(a));
search(a);
}
void input(INFORMATION a[])
{
int i;
printf("\nEnter %d student's information(number,name,money)\n",NUM);
for(i=0;i<NUM;i++){
scanf("%s",a[i].num);
scanf("%s",a[i].name);
scanf("%f",&a[i].money);
}
}
float aver(INFORMATION a[])
{
int i,shu=0;
float aver;
for(i=0;i<NUM;i++)
shu+=a[i].money;
aver=shu/NUM;
return aver;
}
void search(INFORMATION a[])
{
int i;
for(i=0;i<NUM;i+

没大问题
类型转换有些问题

float aver(INFORMATION a[])
{
int i,shu=0;
float aver;
for(i=0;i<NUM;i++)
shu+=a[i].money; //shu是整形的,而a[i].money是float的,
//下面一行是一样,改一下就是
aver=shu/NUM;
return aver;
}

#include<stdio.h>
#include<stdlib.h>
#define NUM 3
typedef struct{
char num[10];
char name[30];
float money;
}INFORMATION;
void input(INFORMATION[]);
float aver(INFORMATION[]);
void search(INFORMATION[]);
int main()
{
INFORMATION a[NUM];
input(a);
printf("\nThe aver sorce is %5.2f\n",aver(a));
search(a);
/* system("Pause"); */
return 0;
}
void input(INFORMATION a[])
{
int i;
printf("\nEnter %d student's information(number,name,money)\n",NUM);
for(i=0;i<NUM;i++){
scanf("%s&q