-3

年に相当するローマ数字を出力するプログラムを作成しましたが、プログラムでコンパイル エラーが発生します。私のプログラムは言う:

33 4 C:\Users\ABC\Desktop\cc [エラー] 予期される ';' '{' トークンの前

これが私のコードです:

#include<stdio.h>
main()
{
    int a,rom;
    printf("Enter the year.");
    scanf("%d",&a);
    rom=reverse(a);
    printf("Roman equivalent of %d is:",a);
}
reverse(int a)
{
    int i,rev=0,rem;
    for(i=a;i>0;i=i/10)
    {
        rem=i%10;
        rev=rev*10+rem;
    }
    roman(a);
}
roman(int a)
{
    int c=0,i,j,k,l,m;
    for(i=a;i>0;i=i/10)
    {
        m=i%10;
        for(j=1;j>0;j--)
        {
            if(c==0)
            {
                printf("m\n");
            }
            elseif(c==1)
            {
                printf("d\n");
                for(l=m-5;l>0;l--)
                    printf("c");
                printf("\n");
            }
            elseif(c==2)
            {
                printf("l\n");
                for(l=m-5;l>0;l--)
                {
                    printf("x");
                }
                printf("\n");
            }
            elseif(c==3)
            {
                printf("v\n");
                for(l=m-5;l>0;l--)
                {
                    printf("i");
                }
                printf("\n");
            }
        }
        c++;
    }
}
4

4 に答える 4

7

else ifの代わりに使用しelseifます。

于 2016-04-07T11:47:26.847 に答える
3

あなたはあなたのスペースを逃しましたelse if..そうではありませんelseifelse if

于 2016-04-07T11:49:15.663 に答える
2

それはタイプミスですelseifの代わりにelse ifを使用してください

            if(c==0)
            {
                printf("m\n");
            }
            else if(c==1)
            {
                printf("d\n");
                for(l=m-5;l>0;l--)
                    printf("c");
                printf("\n");
            }
于 2016-04-07T11:50:27.777 に答える