鱼C论坛

 找回密码
 立即注册
查看: 2646|回复: 6

求C语言题

[复制链接]
发表于 2011-3-23 09:40:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编写一个程序,从终端读取一个数字,然后使用英语逐位的显示该数。例如,如果用户输入932,程序的输出如下:nine three two.
thank you !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-25 03:56:25 | 显示全部楼层
main(){
    int i,div=10;
    unsigned int number,*p=0;
    printf("Please input number( number<65536 ): ");
    scanf("%d",&number);
    printf("The number is: ");
    for(i=0;number/div>0;i++,*p++){
        *p=number % div;
        number=number/div;
    }
    for(*p=number%div;i>=0;*p--,i--){
        switch(*p){
            case 1:printf("one ");break;
            case 2:printf("two ");break;
            case 3:printf("three ");break;
            case 4:printf("four ");break;
            case 5:printf("five ");break;
            case 6:printf("sex ");break;
            case 7:printf("seven ");break;
            case 8:printf("eight ");break;
            case 9:printf("nine ");break;
            default:printf("zero ");
        }
    }
    getch();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-26 03:32:04 | 显示全部楼层
还有个更好的
char str='0',*p;
main(){
    printf("Please input number: ");
loop:
    p = &str;
    scanf("%s",p);
    for(;*p!='\0';p++){
        if(*p<48||*p>57){
            printf("Error!!!");
            printf("\nPlease input 0~1: ");
            goto loop;
        }
    }
    p = &str;
    printf("The number is: ");
    for(;*p!='\0';p++){
        switch(*p-48){
            case 1:printf("one ");break;
            case 2:printf("two ");break;
            case 3:printf("three ");break;
            case 4:printf("four ");break;
            case 5:printf("five ");break;
            case 6:printf("sex ");break;
            case 7:printf("seven ");break;
            case 8:printf("eight ");break;
            case 9:printf("nine ");break;
            default:printf("zero ");
        }
    }
    getch();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-28 10:28:34 | 显示全部楼层
第一个程序我编译了,可以通过。但是一运行输入的数据就内存报错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-28 21:59:37 | 显示全部楼层
#include<stdio.h>
#include<string.h>
int main(){
        int i,length;
        char* map[10]={"zero","one","two","three",
                "four","five","six","seven","eight","nine"};
        char buf[100];
        scanf("%s",buf);
        length = strlen(buf);
        for(i=0;i<length;++i) printf("%s ",map[buf[i]-'0']);
        printf("\n");
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-3-29 17:58:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2014-5-17 11:52:02 | 显示全部楼层
现在才开始学习c  所以从刚开始看帖   回帖的时间可能与发帖时间差距大了  
不过从版主的代码中学到了很多{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 01:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表