有以下程序#include <stdio.h>main(){ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++;for(i=1;i<5;i++) printf("%d",c[i]);printf("\n");}程序的运行结果是A.1 2 3 4B.2 3 4 4C.4 3 3 2D.1 1 2 3

题目

有以下程序

#include <stdio.h>

main()

{ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

for(i=0;i<12;i++) c[s[i]]++;

for(i=1;i<5;i++) printf("%d",c[i]);

printf("\n");

}

程序的运行结果是

A.1 2 3 4

B.2 3 4 4

C.4 3 3 2

D.1 1 2 3


相似考题
更多“有以下程序 #include&lt;stdio.h&gt; main() {ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; ”相关问题
  • 第1题:

    有以下程序:includemain(){int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;

    有以下程序: #include<stdio.h> main() {int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++)c[s[i]]++; for(i=1;i<5;i++)printf("%d",c[i]); printf("\n"); } 程序的运行结果是( )。

    A.1 2 3 4

    B.2 3 4 4

    C.4 3 3 2

    D.1 1 2 3


    正确答案:C
    解析:程序中定义了两个数组s和c,数组c中有5个元素,每个元素的初始值为0;数组s中有12个元素,包含4个“1”,3个“2”,3各“3”,2个“4”。第一个for语句中,用s[i]作为c数组的下标,用于统计s[i]中相同数字的个数,同时将统计的结果放在以该数字为下标的c数组中。第二个for语句用于将c数组中a[1]~a[4]4个元素输出。

  • 第2题:

    以下程序的输出结果是

    intf( )

    {

    static int i=0;

    int s=1;

    s+=i;i++;

    return s;

    }

    main( )

    {

    int i,a=0;

    for(i=0;i<5;i++)a+=f( );

    cout<<a<<endl;

    }

    A.20

    B.24

    C.25

    D.15


    正确答案:D
    解析:本题考察的是同名局部变量和全局变量的作用域之间的关系。同时考察了静态变量的特点:退出函数和进入函数并不影响静态变量的值。因此,循环多次,实际上完成静态变量的累加。即1+2+3+4+5,其值为15,故答案为D。

  • 第3题:

    有以下程序includemain(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i

    有以下程序 #include <stdio.h> main() { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++) c[s[i]++; for(i=l;i<5;i++) printf("%d",c[i]); printf("\n"); } 程序的运行结果是

    A.1 2 3 4

    B.2 3 44

    C.4 3 3 2

    D.1 1 2 3


    正确答案:C
    解析:在for(i=0;i12;i++)c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2。

  • 第4题:

    有下列程序: #include<stdi0.h> voidmain( ) { ints[12]={1,2,3,4,4,3,2,1,1,1,2,3),c[5]= {0},i; for(i=0;i<12;i++)c[s[i]]++; for(i=1;i<5;i++)printf("%d",c[i]); printf("\n") } 程序的运行结果是( )。

    A.1234

    B.2344

    C.4332

    D.1123


    正确答案:C
    C。【解析】本题考查对for循环的使用,首先给两个数组赋值,第一个for循环从0开始循环12次遍历S数组的各个元素,数组将s[]中的元素值作为c[]数组中的下标,然后自加,使相应的值自加,当i=0,c[s[0]]++为c[1]++,其值变为1,当执行i=1,2,…,11后,c[1]、c[2]、c[3]、c[4]分别为4、3、3、2,故选项C正确。

  • 第5题:

    有以下程序:include int f(int a)return a% 2; }main( )int s[8] = {1,3,5,2,4,6} ,i

    有以下程序: #include <stdio. h> int f(int a) return a% 2; } main( ) int s[8] = {1,3,5,2,4,6} ,i,d =0; for (i=0;f(s[i]);i++) d+ =s[i]; prinff( "% d \n", d); 程序运行后的输出的结果是( ).

    A.9

    B.11

    C.19

    D.21


    正确答案:A
    解析:在主函数main中,f(s[i])为for语句的循环终止条件,当f函数返回非零值时,则继续执行循环,否则终止循环,输出d的值。程序的运行步骤为:当i=0时,f(s[i])返回值为1,执行d+=1,d=1;当i=1时,将s[1];3传给形参变量s,f函数返回a%2=1,执行d=d+s[1]=1+3=4;当i=2时,将s[2]=5传给形参变量a,f函数返回a%2=1,执行d=d+s[2]=4+5=9;当i=3时,将a[3]=2传给形参变量a,f函数返回a%2=0,终止循环,输出d的值9。