exam10-11.cpp

来自「很好的C程序设计教程」· C++ 代码 · 共 49 行

CPP
49
字号
/*文件名:exam10_11.cpp*/
#include <stdio.h>
#define N 3
struct
{
	char name[10];    	/*姓名*/
	int no;           	/*学号*/
	char sex[2];      	/*性别,取f或m之一*/
	union body        	/*共用体*/
	{
		char eye[2];
		struct
		{
			float height;
			float weight;
		} f;
	} body;
} per[N];
main()
{
	int i;
	printf("输入学号 姓名 性别(f/m)\n");
	printf("    若为男生(m),还输入视力正常否(y/n)\n");
	printf("    若为女生(f),还要输入身高,体重\n");
	for (i=0;i<N;i++)
	{
		printf("第%d个学生:",i+1);
		scanf("%d%s%s",&per[i].no,per[i].name,&per[i].sex);
		if (per[i].sex[0]=='m')
			scanf("%s",per[i].body.eye);
		else if (per[i].sex[0]=='f')
			scanf("%f%f",&per[i].body.f.height,&per[i].body.f.weight);
		else
			printf("\t性别输入错误\n");
	}
	printf("输出结果:\n");
	printf("学号    姓名  性别  视力正常? 身高   体重\n");
	for (i=0;i<N;i++)
	{
		if (per[i].sex[0]=='m')
			printf("%-6d%-8s%-4s%-8s\n",per[i].no,per[i].name,per[i].sex,per[i].body.eye);
		else if (per[i].sex[0]=='f')
			printf("%-6d%-8s%-4s%-18.2f%7.2f\n",per[i].no,per[i].name,per[i].sex,per[i].body.f.height,per[i].body.f.weight);
		else
			printf("error\n");
	}
	printf("\n");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?