若输入 "I am a boy!",下列程序的运行结果为______。 char connect(string1,string2,string) char

题目

若输入 "I am a boy!",下列程序的运行结果为______。 char connect(string1,string2,string) char string1[],string2[],string[]; { int i,j; for (i=0;stringl[i] !='\0';i++) string[i]=stringl[i]; for (j=0;string2[j] !='\0';j++) string[i+j]=string2[j]; string[i+j ] ='\0'; } main ( ) { char s1 [100] , s2 [100] , s [100]; printf ("\n 输入 string1: \n"); scanf("%s",s1); printf (" \n 输入 string2: \n" ); scanf ("%s", s2); connect (s1, s2, s); printf ("%s\n", s); }

A.I am a boy!

B.输入string2:

C.I am

D.I am a boy!

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

第1题:

若输入bcdefgh、m、abcdefg,以下程序的输出结果为()。includeincludemain(){i

若输入bcdefgh、m、abcdefg,以下程序的输出结果为( )。 #include<stdio.h> #include<string.h> main() { int i; char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); if(strcmp(str[0],str[1])>0) strcpy(string,str[0]); else strcpy(string,str[1]); if(strcmp(str[2],string)>0) strcpy(string,str[2]); printf("%s",string); }

A.bcdefgh

B.m

C.abcdefg

D.bcdefgh或abcdefg


正确答案:B

第2题:

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

第3题:

( 12 ) 有以下程序

#include <stdio.h>

#include <string.h>

void fun ( char *str )

{ char temp;int n,i;

n=strlen ( str ) ;

temp=str[n-1];

for ( i=n-1;i>0;i-- ) str[i]=str[i-1];

str[0]=temp;

}

main ()

{ char s[50];

scanf ( " %s " ,s ) ; fun ( s ) ; printf ( " %s\n " ,s ) ;}

程序运行后输入: abcdef< 回车 > ,则输出结果是 【 12 】 。


正确答案:

第4题:

对于下面的程序includeincludechar *scmp(char*s1,char*s2){if(strcmp(s1,

对于下面的程序 #include<stdio.h> #include<string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i:char string[20],sb[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[21)); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。

A.abcd

B.abba

C.abc

D.abca


正确答案:B
解析:本题自定义函数scrnp()的作用是比较字符串s1和s2的大小,如果s1s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执打strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行strcpy(string,scmp(string,str[2]));,由于scmp(string,str[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。

第5题:

有如下程序: include using namespace std; int main() { char st

有如下程序: #include <iostream> using namespace std; int main() { char str[100], *p; cout<<"Please input a string:"; cin>>str; p=str; for (int i=0; *p!='\0'; p++,i++); cout<<i<<endl; return 0; }运行这个程序时,若输入字符串为 abcdefgabcd则输出结果是

A.7

B.12

C.13

D.100


正确答案:A
解析:本题考查的知识点是:默认的输入格式。C++流所识别的输入数据的类型及其默认的输入格式包括:
short、int、long(signed、unsigned).与整型常量同
float、double、long double:与浮点数常量同
char(signed、unsigned):第一个非空白字符
char*(signed、unsigned):从第一个非空白字符开始到下一个空白字符结束
void*:无前缀的16进制数
bool:VC6.0中把0识别为false,其他的值均识别为true
注意其中空白字符和非空白字符的概念。空白字符是指空格、Tab符、回车换行等无显示的字符,否则就是非空白字符。本题的输入数据类型为char*,因此输入的数据是“从第一个非空白字符开始到下一个空白字符结束”,而输入数据为abcdefg abcd,其中abcdefg后有一个空格(空白字符)。所以输入后str中为字符串"abcdefg”,主函数中接下来for语句的作用是计算字符串p的长度。故最终输出的结果是"abcdefg”的长度7,本题应该选择A。

第6题:

有以下程序 include main(int argc, char *argv[]) {int

有以下程序 #include <string.h> main(int argc, char *argv[]) {int i=1,n=0; while(i<argc) {n=n+strlen(argv[i]);i++;} printf("%d\n",n); } 该程序生成的可执行文件名为:proc.exe。若运行时输入命令行: proc 123 45 67 则程序的输出结果是______。

A.3

B.5

C.7

D.11


正确答案:C
解析:main()可以带有参数,并且参数只能有两个,第一个参数(argc)类型为整型用来记下命令行的参数个数,第二个参数(argv)为—个字符型指针数组,其各个元素用来记下命令行各参数字符串的首地址。此题执行时,argc的值为4,在循环中依次使用strlen()函数求出argv(1)、argv(2)、argv(3)指向的字符串(123、45、67)的长度并把他们加到变量n中,得到n的值为7。

第7题:

下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符1,则输出3,请填空。

#include

#include

#define M 81

int fun(char *ss, char c)

{ int i=0;

for(; ( );ss++)

if(*ss==c)i++;

return i;}

main()

{ char a[M], ch;

clrscr();

printf("\nPlease enter a string: "); gets(a);

printf("\nPlease enter a char: "); ch=getchar();

printf("\nThe number of the char is: %d\n", fun(a,ch));}


正确答案:
*ss!= '\0'

第8题:

请编写一个函数int compare(char *s,char *t)), 该函数的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于是t指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0。

注意:部分源程序已存在文件PROC8.cpp中。

文件PROC8.cpp的内容如下:

//PROC8.cpp

include <iostream>

include <string>

using namespace std;

int compare(char *s,char *t)

{

//* * * * * * * * *

}

int main ()

{

char str1[100],str2[100];

int result;

cout<<"Input the first string\n";

cin>>str1;

cout<<"Input the second string\n";

cin>>str2;

result=compare(str1,str2);

if (result==0)

cout<<"string1=string2 ! \n";

else if (result>0)

cout<<"string1>string2 ! \n";

else

cout<<"string1<string2 ! \n";

return 0;

}


正确答案:

第9题:

下列程序的运行结果是【 】。 include include void main() {char * a[5

下列程序的运行结果是【 】。

include<iostream. h>

include<string. h>

void main()

{

char * a[5]={"stuent","worker","teacher","soldier"," peasant"};

char * p1, * p2;

p1=p2=a[0]

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

{

if(strcmp(a[i],p1)>0)

p1=a[i];

if(strcmp(a[i],p2)<0)

p2=a[i];

}

cout<<p1<<","<<p2<<endl;

}


正确答案:workerpeasant
worker,peasant 解析:分析本题的for循环体内的语句可知,p1和p2将放置最大和最小的字符串,这里的比较是以第一个字符值为基准的。

第10题:

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址

#include <stdio.h>

#include <string.h>

char *scmp(char *s1, char *s2)

{ if(strcmp(s1,s2)<0)

return(s1);

else return(s2);

}

main( )

{ int i; char string[20], str[3][20];

for(i=0;i<3;i++) gets(str[i]);

strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/

strcpy(string,scmp(string,str[2]));

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

}

若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为

A.abcd

B.abba

C.abc

D.abca


正确答案:B
解析:当第一次执行strcpy()函数时,把输入的前两个串中的较小者复制到string中,第二次调用strcpy()函数时,则是把前两者中的较小者与第三个串进行比较返回较小者,并复制到string中,故string存放了3个输入串中的最小者。

更多相关问题