C语言结构体编程题,求大神!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言结构体编程题,求大神!相关的知识,希望对你有一定的参考价值。

建立一个职工情况统计表,它应包括职工的工作证号,姓名,年龄,参加工作时间,文化程度,工资等项内容。输出单位职工的平均年龄,平均工龄和平均工资,各年龄段职工人数。

#include <stdlib.h>

typedef struct tagEmployeeRecord

char szNum[32]; //职工的工作证号
char szName[32]; //姓名
int age; //年龄
char szJobTime[32]; //工作时间
char szDegree[32]; //文化程度
double payment; //工资
EmployeeRecord;

int _tmain(int argc, _TCHAR* argv[])

//职工的工作证号,姓名,年龄,参加工作时间,
//文化程度,工资等项内容。输出单位职工的平均年龄,平均工龄和平均工资,各年龄段职工人数。

int nRecordNum = 3;
int i = 0, nTotalAge = 0;
EmployeeRecord *tables = (EmployeeRecord*)malloc(nRecordNum * sizeof(EmployeeRecord));

for (i = 0; i < nRecordNum; i++)

printf("\\n请输入第%d个员工信息:\\n", i+1);

printf("输入工号(按回车结束)");
scanf("%s", tables[i].szNum);

printf("输入姓名(按回车结束)");
scanf("%s", tables[i].szName);

printf("输入年龄(按回车结束)");
scanf("%d", &tables[i].age);


//计算平均年龄
nTotalAge = 0;
for(i = 0; i < nRecordNum; i++)

nTotalAge += tables[i].age;

nTotalAge /= nRecordNum;
printf("平均年龄是:%d\\n", nTotalAge);
printf("\\n\\n输入的员工信息是:\\n");
for (i = 0; i < nRecordNum; i++)

printf("员工[%d],工号:%s, 姓名:%s, 年龄:%d\\n", i+1, tables[i].szNum, tables[i].szName, tables[i].age);

return 0;
参考技术A .

我是C语言新手。求大神解释一下这一道题,书里没解析的额

有一程序:
#include<stdio.h>
main()
struct cmplxint x;int y;cnum[2]=1,3,2,7;
printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);

运行结果是6。
求解析!!

首先main函数里定义个结构体类型 struct cmplx该结构体包含两个成员变量x和y。
cnum是结构体类型的数组,数组中有2个数组元素cnum[0]和cnum[1],每个数组元素都是结构体类型的变量。所以
cnum[0].x=1,cnum[0].y=3;
cnum[1].x=2,cnum[1].y=7;
则cnum[0].y/cnum[0].x*cnum[1].x的值是3/1*2=6追问

哦!原来如此,我还在纳闷怎么一个只有两个元素的数组有四个元素呢

参考技术A struct cmplx

    int x;
    int y;
cnum[2]=1,3,2,7;   //定义一个结构体,并同时定义一个该结构体类型的数组cnum, 初始化为:cnum[0].x=1   cnum[0].y=3   cnum[1].x=2   cnum[1].y=7

追问

简单明了

参考技术B 3/1*2=6
cnum[0].x=1
cnum[0].y=3
cnum[1].x=2
参考技术C 谁这么无聊写的这么烂的程序先将p指针使用一个for循环指向字符串末尾然后又将字符从末尾往前打印出来所以这个东西就是说反向打印字符串追问

你走错地方了吧......

以上是关于C语言结构体编程题,求大神!的主要内容,如果未能解决你的问题,请参考以下文章

C语言实验题 求大神指点

【C语言结构体题目】求点拨!!

C语言程序编程题,求大神帮帮忙

C语言编程,求助高手

C语言结构体大小问题求助。

我有两道c语言题要做,应该不难,请各位大神帮忙