请编写程序:定义一个结构体(包括职工名、性别、年龄、工资四个域),按此结构体类型定义一个结构体数组,然后从键盘输入每个结构体元素所需的数据,最后逐个输出这些元素的数据(可设数组只有三个元素)。

谢谢各位神仙 下面是部分代码
int main(){

//......

return 0;

}

输入格式:

scanf("%s", works[i].Name);

getchar();

scanf("%c", &works[i].Sex);

scanf("%d %f", &works[i].Age, &works[i].Salary);

输出格式:

printf("%s,%c,%d,%f\n", works[i].Name,works[i].Sex, works[i].Age, works[i].Salary);

输入样例:

张三 M 23 5000

李四 F 32 8000

王五 M 25 6000

输出样例:

张三,M,23,5000.000000
李四,F,32,8000.000000
王五,M,25,6000.000000


#include<stdio.h>
typedef struct Work
{
    char Name[20];
    char Sex;
    int Age;
    float Salary;
}Worker;
int main()
{
    Worker works[3];
    int i; 
    for (i = 0; i < 3; i++)
    {
        scanf("%s", works[i].Name);
 
        getchar();
 
        scanf("%c", &works[i].Sex);
 
        scanf("%d %f", &works[i].Age, &works[i].Salary);
 
    }
    
    for (i = 0; i < 3; i++)
    {
        printf("%s,%c,%d,%f\n", works[i].Name, works[i].Sex, works[i].Age, works[i].Salary);
    }
}

img

解答如下

img

#include <stdio.h>
struct p
{
    char Name[15];
    char Sex;
    int Age;
    float Salary;
};
int main()
{
    struct p works[3];
    for(int i=0; i<3; i++)
    {
        scanf("%s", works[i].Name);

        getchar();

        scanf("%c", &works[i].Sex);

        scanf("%d %f", &works[i].Age, &works[i].Salary);
    }

    for(int i=0; i<3; i++)
    {
        printf("%s,%c,%d,%f\n", works[i].Name,works[i].Sex, works[i].Age, works[i].Salary);
    }
    return 0;
}