1

私のプログラムは、標準入力からいくつかの文字列を読み取ります。次のようにエンコードしたいと思います。Aprint00、Bprint01です。これが私のコードです。どこが間違っているのかわかりません。ありがとうございました!

    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    int main(void)
   {
    char text[100];

    printf("enter  text:");
    fgets(text,100,stdin);
    int i,j;
    unsigned int aux;
    char a[100];
    char b[100];
    for(i=0;i<100;i++)
    for(j=0;j<100;j++)
    {
                      if(text[i]=='a'){
                      aux=aux|0;
                      aux=aux<<2;
                      a[j-1]=aux;
                      a[j]='\0';
                      }
                     if(text[i]=='b'){
                     aux=aux|1;
                     aux=aux<<2;
                     b[j-1]=aux;
                     b[j]='\0';
                     }
                     strcat(a,b)
                      }
                      printf("%s", a[j]);
                getch();      
    return 0;
}
4

1 に答える 1

2

printf ("%02d\n", toupper(text[i]) - 'A');

また

for (i = 0; i < strlen (text); i++)
    sprintf (&a[i*3], "%02d ", toupper(text[i]) - 'A');

これはテキストのみの文字列に対してのみ機能することに注意してください

于 2013-02-13T21:15:45.737 に答える