下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>include<conio.h>void fun(char*S){int i,j;for(i=0,j=0;s[i]! ='\0';i++)/*************found************/if((s[i]>='A'&&s[i]<='Z')&&(s[

题目

下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include<stdio.h>

include<conio.h>

void fun(char*S)

{

int i,j;

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

/*************found************/

if((s[i]>='A'&&s[i]<='Z')&&(s[i]>= 'a'&&S[i]<='z',))

s[j++]=s[i];

/*************found*************/

s[j]=“\0”;

}

main()

{

char item[80];

clrscr();

printf(“\nEnter a string:”);

gets(item);

printf(“\n\nThe string is:\%S\n",item);

fun (item);

printf("\n\nThe string of changing

is:\%S\n",item);

}


相似考题
更多“下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。 ”相关问题
  • 第1题:

    给定程序MODll.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。

    注意:字符串的长度最长允许为79。

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)p=s; (2)while(*p++);
    (1)p=s; (2)while(*p++); 解析:在字符串的最前端加入n个“*”号,形成新串,并且覆盖原串。然后通过“printf("\nThe string atler insert:\"%s\"、n",s);”函数直接输出结果。

  • 第2题:

    规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函 数时,不得使用c语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF * G*******删除*后字符串中的内容应当 是:ABCDEFG。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:


    【考点分析】
    要删除字符串中所有*号需要用循环语句遍历字符串,用
    判断语句判断字符是否为*号,由此可以决定该程序应使用循
    环判断结构。
    【解题思路】

  • 第3题:

    下列给定程序中,函数fun()的功能是:将str所指字符串中的字母转换为按字母序列的后续字母(Z转换A,z转换a),其他字符不变。

    请修改函数fun()中的错误,得出正确的结果。

    注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

    试题程序:


    正确答案:

    (1)错误:while(*str!=ˊ@ˊ)
    正确:while(*str)或while(*str!=ˊ\0ˊ)或while(*str!=0)
    (2)错误:(*str++);
    正确:str++
    【解析】首先判断字母是否为小写字母,如果是小写字母则进行转换。
    第一个标识下“while(*str!=ˊ@ˊ)”语句原意是str不指向字符串尾就进入下面的循环,所以对于指针判断不为结束符的语句应该是循环为真,所以应为“while(*str)”或“while(*str!=ˊ\Oˊ)”或“while(*str!=0)”。
    第二个标识下“(*str)++;”是对字符内容加1,而原题是对字符位置加1,所以将其改为“str++;”。

  • 第4题:

    给定程序MODll.C中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。

    例如,当s所指字符串为:“ABCD”时,则t所指字符串中的内容应为:“ABCDDCBA”。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)void fun(char*s char*t) (2)t[2*d]=‘\0’;
    (1)void fun(char*s, char*t) (2)t[2*d]=‘\0’; 解析:本题中函数的功能是将字符串的正序和反序进行连接。题目中首先由字符串的起始位置正序取字符,然后再由串尾逆序取字符,实现正序和逆序的连接。

  • 第5题:

    下列给定程序中,函数proc()的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。 例如原始字符串是“ab45c6djfd789”,则输出后的字符是“456789”。 请修改函数proc()中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序:


    正确答案: