文档详情

C语言结构体实现学生信息统计.doc

发布:2018-06-29约1.78千字共4页下载文档
文本预览下载声明
C语言程序设计作业6 梁英华 200913201054 一.6.1和6.2放在一个程序里实现。 1.思路: 通过结构体和for()来实现学生数据的输入输出,即学号,名字,年龄和性别,并对相关选项判别。 2.源程序: #includestdio.h #include string.h #define TIME 0%d\t%s\t%d\t%c\n /*自定义学生输入的格式*/ #define KAKA Num\tName\tAge\tGender\n /*自定义输出的格式*/ #define MILITO Boy\tGirl\tAge18\n /*自定义统计的输出格式*/ struct student /* 结构体声明学生统计要素*/ { int num; char name[10]; int age; char sex; }; main() { void input(struct student stu[] ); /* 初始化*/ void count(struct student stu[]); struct student stu[4]; int i,j,boy=0,girl=0,c=0; input(stu); /*调用学生的输入函数input*/ for(j=0;j1;j++) { printf(KAKA); /*调用自定义函数KAKA*/ } for(i=0;i4;i++) /* 输出学生数据*/ { printf(TIME,stu[i].num,stu[i].name,stu[i].age,stu[i].sex); } for(j=0;j1;j++) { printf(MILITO); } for(i=0;i4;i++) /*判别男女,以及年龄小于18的人数*/ { if(stu[i].age18) c=c+1; if(stu[i].sex==M) boy=boy+1; else girl=girl+1; } printf(%d\t%d\t%d\n,boy,girl,c); } void input(struct student stu[]) /*学生数据输入的函数input*/ { int i; for(i=0;i4;i++) { scanf(%d,stu[i].num); getchar(); scanf(%s,stu[i].name); getchar(); scanf(%d,stu[i].age); getchar(); scanf(%c,stu[i].sex); getchar(); } } 3.运行结果: 二.共用体的高低8位问题------6.3 解析: 十进制16961转换成二进制是 0100 0010 0100 0001 高8位:0100 0010 ,即66 低8位:0100 0001,即65. 源程序: #include stdio.h #define KAKA b[1]\tb[0]\n union inter { short int a; char b[2]; }; main() { union inter num; printf(请输入整一个数:\n); scanf(%d,num.a); printf(KAKA); printf(%d\t%d\n,num.b[1], num.b[0]); } 运行结果:
显示全部
相似文档