因为没有给出N的范围,为了节约内存,最好选用动态内存分配。
总的来说就是 动态内存分配+结构+结构指针
#include<stdio.h>
#include<stdlib.h>
struct em {
char name[10];
float jiben;
float fudong;
float zhichu;
float gongzi;
};
int main (void)
{
int n,i;
struct em *s;
scanf("%d", &n);
s = (struct em *)calloc(n,sizeof(struct em));
for (i=0; i<n; i++){
scanf("%s %f %f %f", (s+i)->name, &(s+i)->jiben, &(s+i)->fudong, &(s+i)->zhichu);
(s+i)->gongzi = (s+i)->jiben + (s+i)->fudong -(s+i)->zhichu;
}
for (i=0; i<n; i++)
printf("%s %.2f\n", (s+i)->name, (s+i)->gongzi);
free(s);
return 0;
}