
因为没有给出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;
}
本文介绍了一种使用动态内存分配、结构体和结构体指针实现的数据处理方法,通过C语言示例展示了如何为未知数量的员工记录分配内存,并进行数据输入、计算和输出。适用于内存管理和数据结构初学者。

2084

被折叠的 条评论
为什么被折叠?



