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

题目
以下程序用以删除字符串中所有的空格,请填空。 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++;两条语句。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

22、删除字符串的所有前导空格,请完善程序。 #include <stdio.h> void f1(char *s) { char *t; t=________; while(*s==' ') s++; while(*t++=*s++); } int main() { char str[80]; gets(str); f1(str); puts(str); return 0; }


C

第2题:

删除字符串的所有前导空格,请完善程序。 #include <stdio.h> void f1(char *s) { char *t; t=________; while(*s==' ') s++; while(*t++=*s++); return; } int main() { char str[80]; gets(str); f1(str); puts(str); return 0; }


Trim

第3题:

删除字符串的所有前导空格,请完善程序。 #include <stdio.h> void f1(char *s) { char *t; t=________; while(*s==' ') s++; while(*t++=*s++); } int main() { char str[80]; gets(str); f1(str); puts(str); return 0; }


Trim

第4题:

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

inculde <stdio.h>

main()

{ char s[100]=(“our teacher teach c language!”);int I,j;

For(i=j=0;s[i]!=’’)

iF(s[i];s[i]!=’\0’) {s[j]=s[i];j ++}

s[j]=【 】

printF(“index=%d\n”,s-a);

}


正确答案:‘\0’
‘\0’ 解析:程序使用变量i遍历字符数组s中的所有字符,使用变量j存放非空格字符。当将所有的非空格字符重新存放到字符数组s中后,应添加字符串结束标志'\0'。

第5题:

请读程序: includde include void fun(char * s) {char a[10]; str

请读程序: # includde<stdio.h> # include<string.> void fun(char * s) {char a[10]; strcpy(a,"STRING"); s=a; } main() { char*p; fun(p); print{("%s\n",p); } 上面程序的输出结果(表示空格) ( )

A.STRING

B.STRING

C.STRING

D.不确定的值


正确答案:D

第6题:

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


正确答案:

第7题:

有以下程序:includevoid fun(char**p){++P;printf("%s\n",*p);}main()char*a[]={"Morn

有以下程序: #include<stdio.h> void fun(char**p) { ++P;printf("%s\n",*p);} main() char*a[]={"Morning","Afternoon","Evening","Night"}; fun(A); } 程序的运行结果是( )。

A.Afternoon

B.fternoon

C.Morning

D.oring


正确答案:A

第8题:

请补充函数fun(),该函数的功能是:依次取出字符串中所有的小写字母以形成新的字符串,并取代原字符串。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio.h>

include<conio.h>

void fun(char *s)

{

int i=0;

char *p=s;

while(【 】)

{

if (*p>='a'&&*p<='z')

{

s[i]=*p;

【 】;

}

p++;

}

s[i]=【 】;

}

main()

{

char str[80];

clrscr();

printf("\nEnter a string:");

gets(str);

printf("\n\nThe string is:\%s\n",str);

fun(str);

printf("\n\nThe string of changing

is:\%s\n",str);

}


正确答案:*p i++ '\0'
*p i++ '\0' 解析:第一空:while循环的循环条件是指针p所指的字符不是'\0',也就是说,当处理到字符串最后的结束标记字符 '\0'时,while循环结束。第二空:如果指针p所指的字符为小写字母,则将这个字符存于原字符串s中,同时,下标自加1,为下一次存放做准备。第三空:在取出所有小写字母并存于原字符串s后,要注意在最后加上字符串结束标志符'\0'。

第9题:

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

#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]=s[i];j++;}

s[j]= 【 14 】

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

}


正确答案: