标题:C语言 源程序代码分析
只看楼主
编程大神
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-3-29
结帖率:0
已结贴  问题点数:20 回复次数:7 
C语言 源程序代码分析
从键盘上输入一个数字(0~7),输出一个对应的英文星期单词。输入一个怎么星期一到星期天全出来了,问题出在哪?求解
搜索更多相关主题的帖子: 英文星期 源程序 C语言 单词 键盘 
2016-03-30 18:00
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:4 
代码贴 一下
2016-03-30 18:01
winterlulu
Rank: 1
等 级:新手上路
帖 子:14
专家分:9
注 册:2016-3-29
得分:4 
是不是用的case语句?每句后面要break
2016-03-31 09:31
wang20142052
Rank: 1
等 级:新手上路
帖 子:10
专家分:6
注 册:2015-9-8
得分:4 
同上,如果用的是case语句,每个语句后面要加break跳出循环,不然代码就会连续读下去

黑白线
2016-03-31 10:07
mk_zhou
Rank: 2
来 自:历代兵家必争之地
等 级:论坛游民
威 望:1
帖 子:78
专家分:83
注 册:2015-6-30
得分:4 
程序代码:
#include<stdio.h>
int main()
{
    int a;

    while (1)
    {
        printf("请任意输入一个1~7之间的数字:");
        scanf("%d",&a);
        switch (a)
        {
        case 1:printf("Monday\n");break;
        case 2:printf("Tuesday\n");break;
        case 3:printf("Wednesday\n");break;
        case 4:printf("Thursday\n");break;
        case 5:printf("Friday\n");break;
        case 6:printf("Saturday\n");break;
        case 7:printf("Sunday\n");break;
        default:printf("输入错误,请重新输入\n");break;           
        }
       
    }
    return 0;
是这样的么?

仰望星空,看看有没有馅饼落下
2016-04-05 21:27
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
得分:4 
同上case语句应该就是忘记了break,如果用的其他的循环就要看下跳出循环的判断条件或者是printf星期几的位置
2016-04-06 09:55
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
得分:4 
我个人比较推荐使用字符串数组的,把数字日期作为字符串数组的下标。简单干脆利落

自由、民主、宪政!
2016-04-06 10:37
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
得分:0 
以下是引用lwb603569640在2016-4-6 10:37:10的发言:

我个人比较推荐使用字符串数组的,把数字日期作为字符串数组的下标。简单干脆利落

程序代码:
/******************************************************************************
  题目: 按“月/日/年”的格式接受用户输入的日期,然后按照“月 日, 年”的格式显示,其
        中“月”用英文全名.
        
  演示: 
        
  邮箱:mumu3w@ 
  
  时间:11/05/2015 
  
******************************************************************************/

#include <stdio.h>
#include <ctype.h>



int main(void){
    const char *month[] = {"January", "February", "March", 
                            "April", "May", "June", 
                            "July", "August", "September", 
                            "October", "November", "December"};
                            
    int dd, mm, yyyy;
    
    printf("Enter a date (mm/dd/yy): ");
    scanf("%d/%d/%d", &mm, &dd, &yyyy);
    
    printf("You entered the date %s %.2d, %4d", month[mm-1], dd, yyyy);
    
    return 0;
}

程序类似于上面

自由、民主、宪政!
2016-04-06 11:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-463091-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.315899 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved