问一道C语言选择题

2025-06-28 05:53:45
推荐回答(5个)
回答1:

#include

void main()

{ int i,s,r[5],n,k;

    char buffer[100001],*p;

    float f[5];

    n=0;

    while ( gets(buffer) )

    {    n++; p=buffer;

        for ( i=0;i<5;i++ ) r[i]=0;

        s=0;

        while ( *p )

        { if ( ((*p)>='a' && (*p)<='z') || ((*p)>='A' && (*p)<='Z') )

            { s++;

            switch ( *p )

                { case 'a':

                    case 'A': r[0]++; break;

                    case 'e':

                    case 'E': r[1]++; break;

                    case 'i':

                    case 'I': r[2]++; break;

                    case 'o':

                    case 'O': r[3]++; break;

                    case 'u':

                    case 'U': r[4]++; break;

                }

            }

            p++;

        }

        for ( i=0;i<5;i++ ) { f[i]=r[i]; f[i]/=s; }

        printf("case %d :\n",n);

        i=0; printf("A : %.4f%%\n",f[i]*100);

        i++; printf("E : %.4f%%\n",f[i]*100);

        i++; printf("I : %.4f%%\n",f[i]*100);

        i++; printf("O : %.4f%%\n",f[i]*100);

        i++; printf("U : %.4f%%\n",f[i]*100);

        printf("\n");

    }

    system("pause");

}

回答2:

运行之后 k=4;

=操作符的结合性是从右到左,所以先计算(x%=k)-(k%=4),-操作符的结合性是从左到右,所以先计算x%=k,之后x=5,k=9,再计算k%=4,之后k=1

所以(x%=k)-(k%=4)的值就是5-1==4因此最终k=4;

回答3:

根据优先级
先执行 x%k(x=x%k) 即x=14%9=5 (求余运算)
再 k%=4(k=k%4) 即 k=9%4=1
所以 k=5-1=4
选D
x和k都是变量,每执行一次赋值运算将改变其值

回答4:

D
x%=k即x=x%k,所以x=5(14%9),
同理,k%=4的值是1(9%4),
于是,k=5-1=4

回答5:

k=(x%=k)-(k%=4)等价于:k=(x=x%k)-(k=k%4)因此结果为:
4