有下列程序:#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.1234B.2344C.4332D.1123

题目

有下列程序:

#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正确。
更多“有下列程序: #include&lt;stdi0.h&gt;voidmain( ) {ints[12]={1,2,3,4,4,3,2,1,1,1,2,3),c[5]={ ”相关问题
  • 第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题:

    有以下程序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。

  • 第3题:

    下列程序的运行结果是______。include int Func(int *a,int n) {int s=1; for(int i=0

    下列程序的运行结果是______。

    include<iomanip.h>

    int Func(int *a,int n)

    {int s=1;

    for(int i=0;i<n;i++)

    s*=*a++;

    returns;}

    void main()

    {inta[]:{1,2,3,4,5,6,7,8};

    intb=Func(a,6)+Func(&a[5],2);

    cout<<“b=“<(b<<endl;}


    正确答案:b=762。
    b=762。 解析: 本题考查了。a++的用法。*a++作为表达式时,先计算*a作为表达式的值,然后使指针变量 a本身增1,在本惠中,s*=*a++等同于3=s**a,a++,S后面第一个*是乘号。

  • 第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 using namespace std;void main( ){ inta[3][3] ={{

    下面程序的输出结果是( )。 #include <iostream> using namespace std; void main( ) { inta[3][3] ={{1,2},{3,4},{5}}; int s =0; for(int i=1;i<3;i++) for(int j=0;j<=i;j++) s+=a[i][j]; cout<<s<<endl;

    A.12

    B.4

    C.15

    D.13


    正确答案:A
    解析:该程序将第2行的前两个元素和第3行的第1个元素进行累加运算。