| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 581 人关注过本帖
标题:请帮忙看下,是因为if花括号复合语句有问题吗,执行之后,没有输出
只看楼主 加入收藏
tximist
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-9-17
收藏
 问题点数:0 回复次数:8 
请帮忙看下,是因为if花括号复合语句有问题吗,执行之后,没有输出
题目
图片附件: 游客没有浏览图片的权限,请 登录注册

代码
程序代码:
#include <stdio.h>

int main(void)
{
    int ten_digit, sigle_digit;

    printf("Enter a two digit number: ");
    scanf("%d%d", &ten_digit, &sigle_digit);

    if (ten_digit == 1)
    {
        switch (sigle_digit)
        {
            case 0:
                printf("You enter the number ten");
                break;
            case 1:
                printf("You enter the number eleven");
                break;
            case 2:
                printf("You enter the number twelve");
                break;
            case 3:
                printf("You enter the number thirdteen");
                break;
            case 4:
                printf("You enter the number forteen");
                break;
            case 5:
                printf("You enter the number fifteen");
                break;
            case 6:
                printf("You enter the number sixteen");
                break;
            case 7:
                printf("You enter the number seventeen");
                break;
            case 8:
                printf("You enter the number eighteen");
                break;
            case 9:
                printf("You enter the number nineteen");
                break;
            default:
                break;
        }
    }

    else
    {
        switch (ten_digit)
        {
            case 2:
                printf("You enter the number twenty-");
                break;
            case 3:
                printf("You enter the number thirty-");
                break;
            case 4:
                printf("You enter the number forty-");
                break;
            case 5:
                printf("You enter the number fifty-");
                break;
            case 6:
                printf("You enter the number sixty-");
                break;
            case 7:
                printf("You enter the number seventy-");
                break;
            case 8:
                printf("You enter the number eighty-");
                break;
            case 9:
                printf("You enter the number nighty-");
                break;
            default:
                break;
        }

        switch (sigle_digit)
        {
            case 1:
                printf("You enter the number one");
                break;
            case 2:
                printf("You enter the number two");
                break;
            case 3:
                printf("You enter the number three");
                break;
            case 4:
                printf("You enter the number four");
                break;
            case 5:
                printf("You enter the number five");
                break;
            case 6:
                printf("You enter the number six");
                break;
            case 7:
                printf("You enter the number seven");
                break;
            case 8:
                printf("You enter the number eight");
                break;
            case 9:
                printf("You enter the number night");
                break;
            default:
                break;
        }
    }

    return 0;
}
输出
图片附件: 游客没有浏览图片的权限,请 登录注册

请帮忙看下,是因为if花括号复合语句有问题吗,执行之后,没有输出。
2015-09-21 16:52
voiceshen
Rank: 2
等 级:论坛游民
帖 子:21
专家分:58
注 册:2015-9-8
收藏
得分:0 
scanf("%d", &digit);
ten_digit = digit / 10;
single_digit = digit % 10;
2015-09-21 17:20
voiceshen
Rank: 2
等 级:论坛游民
帖 子:21
专家分:58
注 册:2015-9-8
收藏
得分:0 
还有你没有处理类似于20, 30的情况。
2015-09-21 17:21
tximist
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-9-17
收藏
得分:0 
以下是引用voiceshen在2015-9-21 17:20:39的发言:

scanf("%d", &digit);
ten_digit = digit / 10;
single_digit = digit % 10;

我把输入的两位数分成十、个位两部分,第一个switch输出10-19,第二个switch输出20-90十位数部分,第三个switch输出20-99个位数部分。


[ 本帖最后由 tximist 于 2015-9-21 19:27 编辑 ]
2015-09-21 17:34
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
程序代码:
#include <stdio.h>

int main(void)
{
    int ten_digit, sigle_digit,num;
    char name_1[10][20]={"one","two","three","four","five","six","seven","eight","night"} ;
    char name_2[10][20]={"ten","eleven","twelve","thirdteen","forteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
    char name_3[10][20]={"twenty","thirty","forty","fifty","sixty","seventy","eighty","nighty"};
    
    for(printf("Enter a digit number: ");scanf("%d", &num)!=1;
        scanf("%*[^\n]"), printf("%s","Exception: data format , try again: "));
    ten_digit=num/10;
    sigle_digit=num%10;
    switch(ten_digit)
    {
        case 0:
            printf("You enter the number %s",name_1[sigle_digit-1]);
            break;
        case 1:
            printf("You enter the number %s",name_2[sigle_digit]);
            break;
        default:
            switch(sigle_digit)
            {
                case 0:
                    printf("You enter the number %s",name_3[ten_digit-2]);
                    break;
                default:
                    printf("You enter the number %s-%s",name_3[ten_digit-2],name_1[sigle_digit-1]);
            }
    }
    return 0;
}

剑栈风樯各苦辛,别时冰雪到时春
2015-09-21 20:10
tximist
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-9-17
收藏
得分:0 
回复 5楼 林月儿
谢谢,研究研究
2015-09-21 20:57
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
以下是引用tximist在2015-9-21 20:57:02的发言:

谢谢,研究研究


照片差评!

剑栈风樯各苦辛,别时冰雪到时春
2015-09-21 21:02
来生再见
Rank: 1
来 自:江西省抚州市
等 级:新手上路
威 望:1
帖 子:39
专家分:9
注 册:2015-9-13
收藏
得分:0 
题目是输入2位数

重新开始,努力
2015-09-24 00:37
来生再见
Rank: 1
来 自:江西省抚州市
等 级:新手上路
威 望:1
帖 子:39
专家分:9
注 册:2015-9-13
收藏
得分:0 
回复 5楼 林月儿
可以使用指针数组来存储字符串

重新开始,努力
2015-09-24 00:38
快速回复:请帮忙看下,是因为if花括号复合语句有问题吗,执行之后,没有输出
数据加载中...
 
   



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

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