实验过程、程序代码、运行结果及分析说明: 1.登记表 #include<stdio.h>
#include <stdio.h> //标准的输入输出
#include <string.h> //调用字符串函数
#include <stdlib.h> //包含system函数
#define N 10 //定义程序录入10条个人信息
struct persontype //结构体:录入成员信息
{
char Name[20]; //姓名
char Gender[20]; //性别
char Category[20]; //类别
union //联合体
{
int Grade; //年级
char Position[10]; //职称
}leve1;
}person[N];
main()
{
system("color fc"); //调整程序编译运行显示的颜色
int i;
printf(" **本程序作用为录入10位师生的信息**\n\n"); //提示信息
printf ("\n请输入以下信息:\n\n姓 名\t性 别\t类 别\t年级或职称:\n");
//提示输入
for (i=0;i<N;i++) //输入数据
{
scanf("%s%s%s",&person[i].Name,person[i].Gender,person[i].Category);
if (strcmp(person[i].Category,"学生")==0) //判断师生
scanf("%d",&person[i].leve1.Grade);
else if (strcmp(person[i].Category,"教师")==0)
scanf("%s",person[i].leve1.Position);
else
printf("输入错误!\n");
}
printf("\n\n录入完毕!\n结果如下所示:\n\n\t姓 名\t性 别\t类 别 \t年级或职称:\n ");
for (i=0;i<N;i++) //输出数据
{
if (strcmp(person[i].Category,"学生")==0)
printf("\t%s %s %s %d\n",person[i].Name,person[i].Gender, person[i].Category,person[i].leve1.Grade);
else if (strcmp(person[i].Category,"教师")==0)
printf("\t%s %s %s %s\n",person[i].Name,person[i].Gender,person[i].Category,person[i].leve1.Position);
}
} | |
2.枚举三色球 #include<stdio.h>
main()
{
enum color {red,yellow,blue}; //枚举颜色类型
int i,j,k,X1,X2; //其中有定义传入switch语句的变量
int n=0; //初始化
printf("\n**本程序作用为列出三色球中两两组合方案**\n\n");
for(i=red;i<=blue;i++) //赋值
for(j=red;j<=blue;j++)
{
if(j!=i) //两个球的颜色不同
{
for(k=red;k<=blue;k++)
if((k!=i)&&(k!=j))
{
n=n+1;
printf("\t%d\t",n);
for(loop=1;loop<=2;loop++)
{switch(loop)
{ case 1:
pri=i;
break;
case 2:
pri=j;
break;
default:
break;
}
switch(pri)
{
case red:
printf("%s\t","red");
break;
case yellow:
printf("%s\t","yellow");
break;
case blue:
printf("%s\t","blue");
break;
default:
break;
}}
printf("\n");
}}}} | |