标题:为这个题目(念整数)写了个代码,求指点
只看楼主
浅青雨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-4-1
结帖率:50%
已结贴  问题点数:10 回复次数:20 
为这个题目(念整数)写了个代码,求指点
题目内容:
你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
如输入1234,则输出:
yi er san si
注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:
fu er san si yi

输入格式:
一个整数,范围是[-100000,100000]。

输出格式:
表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

输入样例:
-30

输出样例:
fu san ling




#include<stdio.h>
long call(long x);
int main()
{
   
    int i,a;
    signed long x;
    int m[6]={0};
    char shuzi[][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    char fuhao[]={"fu"};
    printf("INPUT\n");
    scanf("%d",&x);

    L1:    if((x<=100000)&&(x>=(-100000)))
    {   
      
      
       if(x<0)
        {
          printf("%s ",fuhao);
          x*=(-1);
        }
        for(i=0;x!=0;i++)
          {
            a=x%10;
            m[i]=a;
            x=x/10;
          }
      for(;i>0;i--)      
      {
        printf("%s ",shuzi[m[i-1]] );
      }
    }
    else
     {
         printf("please input correct integer\n");
        scanf("%d",&x);
        goto L1;
     }   
        
       return 0;
}
搜索更多相关主题的帖子: 汉语拼音 include 
2015-04-11 21:44
浅青雨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-4-1
得分:0 
long call(long x);这个函数说明去掉,忘记去掉了。
2015-04-11 21:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:2 
goto都出来了,hehe

授人以渔,不授人以鱼。
2015-04-11 21:54
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
得分:2 
goto

你醒了?快起来敲代码!!
2015-04-11 22:04
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
得分:0 
程序代码:
# include <stdio.h>
# include <string.h>

int main (void)
{
    char aim[101];
    int i;
    gets(aim);
    
    for(i=0;i<strlen(aim);i++)
     if(*(aim+i)=='-')
        fputs("fu ",stdout);
    
    
    else if(*(aim+i)=='0')
        fputs("ling ",stdout);
        
    else if(*(aim+i)=='1')
        fputs("yi ",stdout);
        
    else if(*(aim+i)=='2')
        fputs("er ",stdout);
        
    else if(*(aim+i)=='3')
        fputs("san ",stdout);
        
    else if(*(aim+i)=='4')
        fputs("si ",stdout);
        
    else if(*(aim+i)=='5')
        fputs("wu ",stdout);
    else if(*(aim+i)=='6')
        fputs("liu ",stdout);
        
    else if(*(aim+i)=='7')
        fputs("qi ",stdout);
        
    else if(*(aim+i)=='8')
        fputs("ba ",stdout);
        
    else 
        fputs("jiu ",stdout);
        
    putchar('\n');
    

    
    return 0;
}



代码好长

你醒了?快起来敲代码!!
2015-04-11 22:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
回复 5楼 code力力
修改一下,重复代码太多,那是不可忍受的。

授人以渔,不授人以鱼。
2015-04-11 22:19
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
得分:0 
好吧,写的很仓促,而且有一点没满足:末尾没有空格。

我得再看看

你醒了?快起来敲代码!!
2015-04-11 22:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
代码不是写的快才本事,可参考我转过的“你每月生产多少行代码”一文。

授人以渔,不授人以鱼。
2015-04-11 22:27
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
得分:0 
程序代码:
# include <stdio.h>
# include <string.h>

int main (void)
{
    char aim[101];
    int i;
    char words[11][5]={
        "ling",
        "yi",
        "er",
        "san",
        "si",
        "wu",
        "liu",
        "qi",
        "ba",
        "jiu",
        "fu"
        
    };
    
    gets(aim);
    int len=strlen(aim);
    for(i=0;i<len;i++)
      {
           
         if(*(aim+i)=='-')
         {
             fputs(words[10],stdout);
             putchar(' ');
        
         }
         
         else
          { 
                 fputs(words[ *(aim+i)-'0' ] , stdout);
                 if(i!=len-1)
                  putchar(' ');
          }
      }
    
    
    putchar('\n');
    return 0;
}


      


[ 本帖最后由 code力力 于 2015-4-11 22:52 编辑 ]

你醒了?快起来敲代码!!
2015-04-11 22:44
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
得分:0 
恩。我天天都会写代码,因为我一直记得我第一次写代码时候的教训:书看得很懂,很自信,以为自己都知道了。

可是当我第一次敲代码的时候,各种问题就出来了......

我想保持手感,每天都写写。

你醒了?快起来敲代码!!
2015-04-11 22:49



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




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

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