《程式設計基礎-c語言》楊莉 劉鴻翔
ISBN-978-7-03-032903-5
p165
習題6
4.輸入今天是星期幾的序号(0~6代表星期天至星期六),給今天和昨天賦予枚舉值,并輸出昨天是星期幾的枚舉值
思路:
- 枚舉
定義時,按順序依次為0~6常量
- 通過
判斷星期幾,确定昨天的序号,通過枚舉值指派(注意:枚舉常量不能指派)switch
#include<stdio.h>
enum weeks
{
Sunday, /*枚舉值:0*/
Monday, /*枚舉值:1*/
Tuesday, /*枚舉值:2*/
Wednesday, /*枚舉值:3*/
Thusday, /*枚舉值:4*/
Firday, /*枚舉值:5*/
Saturday, /*枚舉值:6*/
}today,yesterday;
int main(void)
{
printf("輸入今天是星期幾的序号(0~6):");
scanf("%d",&today);
switch(today)
{
case 0:yesterday=Saturday;break; /*今天是星期天,昨天是星期六,枚舉值為6*/
case 1:yesterday=Sunday;break; /*今天是星期六,昨天是星期天,枚舉值為0*/
case 2:yesterday=Monday;break; /*今天是星期二,昨天是星期一,枚舉值為1*/
case 3:yesterday=Tuesday;break; /*今天是星期三,昨天是星期二,枚舉值為2*/
case 4:yesterday=Wednesday;break; /*今天是星期四,昨天是星期三,枚舉值為3*/
case 5:yesterday=Thusday;break; /*今天是星期五,昨天是星期四,枚舉值為4*/
case 6:yesterday=Firday;break; /*今天是星期六,昨天是星期五,枚舉值為5*/
}
if(yesterday==0)
{
printf("\n昨天是星期天對應的枚舉值:");
}
else
{
printf("\n昨天是星期%d對應的枚舉值:",yesterday);
}
printf("%d\n",yesterday);
}