C语言中如果从键盘上输入一个代表星期几的数值(整数),根据下面的对应关系输出汉字星期值。

#include "stdio.h"
void
main()
{
int a;
printf("输入数字1到7:");
scanf("%d",&a);
switch (a)
{
case 1:
printf ("1=星期一",1);
break;
case 2:
printf ("2=星期二",2);
break;
case 3:
printf ("3=星期三",3);
break;
case 4:
printf("4=星期四",4);
break;
case 5:
printf("5=星期五",5);
break;
case 6:
printf("6=星期六",6);
break;
case 7:
printf("7=星期日",7);
break;
default:
printf ("输入错误!")

}

}
那里错了
如果从键盘上输入一个代表星期几的数值(整数),根据下面的对应关系输出汉字星期值。

用一个指针数组存放汉字"一"到"日"字符串的指针,可用简单代码解决这问题。举例如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    char *pw[7]={"一","二","三","四","五","六","日"},w;
    while(1){
        printf("Input w(1-7,w<=0 end): w=");
        if(scanf("%d",&w) && w>0 && w<8)
            printf("%d <--> 星期%s\n",w,pw[w-1]);
        else if(w<=0) break;
        else printf("Error, redo: ");
    }
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-13
printf ("1=星期一"); 不需要后面的 ,1

其它几个一样。
里面有 %d这种的才需要后面加参数
如 printf ("%d=星期一",n);

最后一个printf少了个分号;本回答被网友采纳
第2个回答  2014-11-13
最后一个printf少了个分号;
第3个回答  2014-11-13
最后一个输出语句少一个分号。
相似回答