/**********C程序设计 枚举 P314*********/
/**********2013 1 2021:45 已测试*******/
#include<reg51.h>
#include<stdio.h>
void main()
{
enum color{red,yellow,blue,white,green,black}; //默认第一个枚举成员赋值为0,即red值为0
enum color i,j,k,pri; //color为枚举类型名,而color为枚举变量名
int n,loop;
n=0; //种类统计
SCON=0x50; //串口工作方式
TMOD|=0x20; //确定定时器工作模式
TH1=0xF3;
TR1=1; //开启定时器1
TI=1; //
for(i=red;i<=black;i++) //第一种颜色变量
for(j=red;j<=black;j++) //第二种颜色变量
if(i!=j) //第一个球的颜色与第二个球的颜色不同
{
for(k=red;k<=black;k++) //第三种颜色变量
{
if((k!=i)&&(k!=j)) //三个球的颜色都不同
{
n=n+1; //种数序列号加一
printf("%-4d",n); //显示第N种
for(loop=1;loop<=3;loop++) //输出三种颜色
{
switch(loop) //颜色
{
case 1: pri=i; break; //输出第一种 数据交pri
case 2: pri=j; break; //输出第二种 数据交pri
case 3: pri=k; break; //输出第三种 数据交pri
default:break; //返回
}
switch(pri) //pri比较
{
case red: printf("%-10s","red");break; //输出红色
case yellow:printf("%-10s","yellow");break;//输出黄色
case blue:printf("%-10s","blue"); break; //输出蓝色
case white:printf("%-10s","white");break; //输出白色
case green:printf("%-10s","green");break; //输出绿色
case black:printf("%-10s","black");break; //输出黑色
default:break; //返回
}
}
printf("\n"); //输出一种取法后换行
}
}
printf("total:%5d\n",n); //输出统计总数 换行
}
}
/**********2013 1 2021:45 已测试*******/
#include<reg51.h>
#include<stdio.h>
void main()
{
enum color{red,yellow,blue,white,green,black}; //默认第一个枚举成员赋值为0,即red值为0
enum color i,j,k,pri; //color为枚举类型名,而color为枚举变量名
int n,loop;
n=0; //种类统计
SCON=0x50; //串口工作方式
TMOD|=0x20; //确定定时器工作模式
TH1=0xF3;
TR1=1; //开启定时器1
TI=1; //
for(i=red;i<=black;i++) //第一种颜色变量
for(j=red;j<=black;j++) //第二种颜色变量
if(i!=j) //第一个球的颜色与第二个球的颜色不同
{
for(k=red;k<=black;k++) //第三种颜色变量
{
if((k!=i)&&(k!=j)) //三个球的颜色都不同
{
n=n+1; //种数序列号加一
printf("%-4d",n); //显示第N种
for(loop=1;loop<=3;loop++) //输出三种颜色
{
switch(loop) //颜色
{
case 1: pri=i; break; //输出第一种 数据交pri
case 2: pri=j; break; //输出第二种 数据交pri
case 3: pri=k; break; //输出第三种 数据交pri
default:break; //返回
}
switch(pri) //pri比较
{
case red: printf("%-10s","red");break; //输出红色
case yellow:printf("%-10s","yellow");break;//输出黄色
case blue:printf("%-10s","blue"); break; //输出蓝色
case white:printf("%-10s","white");break; //输出白色
case green:printf("%-10s","green");break; //输出绿色
case black:printf("%-10s","black");break; //输出黑色
default:break; //返回
}
}
printf("\n"); //输出一种取法后换行
}
}
printf("total:%5d\n",n); //输出统计总数 换行
}
}