#4674: 為啥麼是CE啦!!!


darkgroup (小強爆走傳說)


 幫忙一下大大,我不知道為啥麼把這個程式碼打在Dev c++可以,但打在這裡就不行。

 最後交出去的時候我按"C",找一下哪裡不對,拜託!!!

#include<stdio.h>

#include<stdlib.h>
void printfnum(int,int);
char num[30];
int h=0;
int number,each=0;    //先輸入數字再變成字串,//each是加位數
int main()
{
    int a=0,i,w=0,m=0;     //m是判斷有幾位數    //h是判對萬&億
    while(scanf("%d",&number)!=EOF)
    {
        itoa(number,num,10);
        do{
        number=number/10;
        if(number>0)
        {
            m++;
        }
        else
        {
            w++;
        }
        }while(w!=1);
        m=m+1;       //總共有(m+1)位數
        h=m/4;
        a=m%4;
        if((h==1 && a==0) || (h==2 && a==0))
        {
            h--;
            a=4;
        }
        //printf("%d  %d   %d\n",h,a,m);
        //確定h,a,m是正確的
        for(i=0;i<=m-1;i++)
        {
            printfnum(i,m);
        }
        m=0;h=0;w=0;a=0;
        printf("\n");
    }
    return 0;
}
void printfnum(int i,int m)
{
    int a=0,b=0;      //印出有幾位數
    int find=0;        //找出連續的零
    if(num[i]=='0' && find<1)
    {
        printf("零");
    }
    if(num[i]=='1')
    {
        printf("壹");
    }
    if(num[i]=='2')
    {
        printf("貳");
    }
    if(num[i]=='3')
    {
        printf("參");
    }
    if(num[i]=='4')
    {
        printf("肆");
    }
    if(num[i]=='5')
    {
        printf("伍");
    }
    if(num[i]=='6')
    {
        printf("陸");
    }
    if(num[i]=='7')
    {
        printf("柒");
    }
    if(num[i]=='8')
    {
        printf("捌");
    }
    if(num[i]=='9')
    {
        printf("玖");
    }
    a=(m-i-1)%4;
    switch(a)
    {
             case 0:
                  b=1;
                  break;
             case 1:
                  printf("拾");
                  break;
             case 2:
                  printf("佰");
                  break;
             case 3:
                  printf("仟");
                  break;
    }
    //printf("\n\nh=%d\n",h);
    if(b==1)
    {    
             switch(h)
             {
                      case 1:
                           printf("萬");
                           h--;
                           break;
                      case 2:
                           printf("億");
                           h--;
                           break;
                }
                b=0;
    }
}

#4675: Re:為啥麼是CE啦!!!


nolonger (Nolonger)


主要我看到的有兩個問題

 

1. "//"這種註解方法是C++的標準,C請用"/*  */"

 

2. itoa()非標準