有以下程序:#include <stdio.h>main(){ int i,j=0; char a[] = How ar

题目
单选题
有以下程序:#include main(){ int i,j=0; char a[] = How are you,b[10]={0}; for(i=0;a[i];i++)  if(a[i]==' ')   b[j++]=a[i+1]; printf(%s,b);}程序运行后的输出结果是(  )。
A

Hay

B

How are you

C

we

D

ay

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有下列程序: include include "string.h" void tim(char *s[],int n)

有下列程序: #include <stdio.h> #include "string.h" void tim(char *s[],int n) { char *t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;} } main() { char *ss[]= {"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

A.xy,aaaacc

B.aaaacc,xy

C.bcc,aabcc

D.aabcc,bcc


正确答案:A
解析:从main函数入手,定义了指向字符串的指针数组,并赋予了初始值,调用fun()函数,函数的功能是:比较数组中各个元素的长度,按元素长度从小到大排列数组元素,所以执行fun(ss,5)函数后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},所以调用printf函数输出ss[0],ss[4]的值分别为xy,aaaacc。

第2题:

以下程序的输出结果是【 】。include main() {int i,j,sum; for(i=3;i>=-1;i-) (sum=0; fo

以下程序的输出结果是【 】。

include<stdio.h>

main()

{int i,j,sum;

for(i=3;i>=-1;i-)

(sum=0;

for(j=1;j<=i;j++) sum+=i*j;

}

printf("%d\n,sum);

}


正确答案:√
1 解析:本题考查的是for循环嵌套。外循环i变量从3递减到1,内循环变量j在每轮外循环的作用下从1递增到i,并在每轮外循环结束时,通过内循环求得sum的值,但由于外循环体的第一条语句是将变量sum初始化为0,所以每轮外循环结束时求得的sum值均被下一轮外循环执行时重新初始化为0,只有在最后一轮,当i=1时,内循环求得stan=1,跳出内循环,i的值减1变为0,不满足i>=1这个条件,结束外循环,此时输出sum的值为1。

第3题:

有以下程序:includeincludevoid fun(char s[][10],int n){char t;int i,j;

有以下程序: #include<stdio.h> #include<string.h> void fun(char s[][10],int n) { char t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) /*比较字符串的首字符大小,并交换字符串的首字符*/ if(s[i][0]>s[j][0]){t=s[i][0];s[i][0]=s[j][0];sEj][0]=t;} } main() {char s[5][10]={"bcc","bbcc","xy","aaaacc","aabcc"); fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

A.xy,aaaacc

B.aaaacc,xy

C.xcc,aabcc

D.acc,xabcc


正确答案:D
解析:本题考查的重点是二维数组的存储。函数fun()只是对5个字符串的首字母进行排序,排序后为{“acc”,“abcc”,“by”,“baaacc”,“xabcc”},因此,输出为第1个和第5个字符串,选项D是正确的。

第4题:

有以下程序:includeincludemain() {char c[6];int i=0;for(;j<6;c[i]=getch

有以下程序:#include<stdio.h>#include<stdio.h>main() { char c[6]; int i=0; for(;j<6;c[i]=getchar(),i++); for(i=0;i<6;i++)putchar(c[i]); printf("\n");}如果从键盘上输入:ab<回车>c<回车>def<回车>则输出结果为 ______。

A.a b c d e f

B.a b c d

C.ab c d

D.abcdef


正确答案:C
解析:1.getchar():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。2.putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。本题在输入字符时,ab和c后面的回车符分别赋给了c[2]和c[4],所以,正确答案为C。

第5题:

以下程序用以删除字符串中所有的空格,请填空。 include main() {char s[100]={"Our teac

以下程序用以删除字符串中所有的空格,请填空。

include<stdio.h>

main()

{char s[100]={"Our teacher teach C language!"};int i,j;

for(i=j=0;s[i]!='\0';i++)

if(s[i]!=''){( )}

s[j]='\0';

printf("%s\n",s);

}


正确答案:s[j]=s[i];j++;
s[j]=s[i];j++; 解析:本题中相当于字符串s中存储着含有空格的字符,当发现空格的时候就用这个空格字符后面的字符前移覆盖这个空格字符,依次类推向后继续。因此,应填s[j]=s[i];j++;两条语句。

第6题:

下面程序的运行结果是includevoid delch(char*s){int i,j;char *a;a=S;for(i=0,j=0;a[

下面程序的运行结果是 #include<stdio.h> void delch(char *s) { int i,j; char *a; a=S; for(i=0,j=0;a[i]!='\0';i++) if(a[i]>='0' &aa[i]<='9') {s[j]=a[i]; j++;} s[j]='\0';} main() { char *item="a34bC"; delch(item); printf("\

A.abc

B.34

C.a34

D.a34bc


正确答案:B

第7题:

下面程序的输出结果为【】。 include main() { char a[]="morning",t; int i,j=0; for(

下面程序的输出结果为【 】。

include<iostream.h>

main()

{

char a[]="morning",t;

int i,j=0;

for(i=1;i<7;i++)

if(a[j]<a[i])

j=i;

t=a[j];

a[j]=a[7];

a[7]=a[j];

cout<<a;

}


正确答案:mo
mo

第8题:

下面程序的运行结果是()。includevoid del(char*s){int i,j;char *a;a=s;for(i=0,j=0;a

下面程序的运行结果是( )。 #include<stdio.h> void del(char*s) { int i,j; char *a; a=s; for(i=0,j=0;a[i]!='\0';i++) { if(a[i]>='0'&&a[i]<='9') { s[j]=a[i]; j++; } s[j]='\0'; }} main() {char s[]="aa89gggh"; del(s); printf("\n%s",s); }

A.aa

B.89

C.gggh

D.aa89gggh


正确答案:B
解析:本题中del(char*s)函数实现的功能是:逐个读入s数组中的字符,如果遇到数字,则将其重新存在s中,遇到非数字字符则跳过。所以最后输出的应该是字符串s中的所有数字。

第9题:

以下程序运行后的输出结果是【】include main ( ) {char a[] ="123456789", *p;int i =0;

以下程序运行后的输出结果是【 】

include <stdio.h>

main ( )

{ char a[] ="123456789", *p;

int i =0;

p=a;

while( * p)

{ if(i%2 ==0) *p='*';

p++;i++;

}

puts(a);

}


正确答案:*2*4*6*8*
*2*4*6*8* 解析:程序中指针p指向数组a,while(*P)语句的循环条件是* p!='\0',在循环体中,当 i=0,2,4,6,8时,i%2=0,执行*p='*',即a[i]='*',继续执行p++;i++;使i为奇数;当i=1, 3,5,7时,i%2=1,继续执行p++;i++;使i为偶数。可见,程序在字符串"123456789",的下标为偶数的位置上赋值'*',代替原字符串中的1,3,5,7,9。所以,程序输出结果为*2*4*6*8*。

第10题:

有以下程序:includeincludemain(){char a[]={'a','b','c','d','e','f','g'

有以下程序: #include <stdio.h> #include <string.h> main() { char a[]={'a','b','c','d','e','f','g','h','\0'}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\n",i,j); } 程序运行后的输出结果是( )。

A.9,9

B.8,9

C.1,8

D.9,8


正确答案:D
解析:sizeof是求字节运算符,在字符数组a中,“\0”也作为字节保存,是a数组的一个成员,所以sizeof(a)的值应为9;strlen是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括“\0”在内,所以strlen(a)的值为8。

更多相关问题