请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在

题目

请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。

例如,当str所指字符串中的内容为abcdefg,则在t所指数组中的内容应是bdf。

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

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

试题程序:

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

第1题:

请编写函数proc(),其功能是:将str所指字符串中除下标为偶数、同时ASCⅡ码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFG12345,其中字符8的ASCⅡ码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCⅡ码值为奇数,所在数组中的下标为偶数,因此不应当删除。依次类推,最后t所指的数组中的内容应是ACEG。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。 试题程序:


正确答案:

【解析】题目中要求将字符串str中下标为偶数、同时ASCⅡ码值为奇数的字符放在数组t中。首先,需要检查字符串str中下标为偶数的字符的ASCⅡ码值是否为奇数,将符合要求的字符放在数组t中。最后,为新的字符串数组添加结束符。

第2题:

编写函数fun,其功能是:将s所指字符串中除了下标为奇数,同时ASCH码值也为奇数自q字符之外。

其余所有字符全部删除,串中剩余字符所形成的一个新串放在所指的数组中。

例如,若s所指字符串的内容为“ABCDEFGl2345”,其中字符A的ASCIl码值为奇数,但所在元素的

下标为偶数,因此需要删除;而字符l的ASCIl码值为奇数,所在数组中的下标也为奇数,因此不应当删除,

其他依此类推。最后t所指数组中的内容应为“135”。

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

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:


正确答案:

用循环遍历字符串,通过if语句将下标和ASCIl码都为奇数的字符保存到数组中,在字符串末尾加上结束标识符。

第3题:

请教:2016年计算机二级考试C++模拟试题简答题3答案

请编写函数fun,其功能是:将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。


  void fun(char *s,char t[])

  {int i,j=0,n=strlen(s);

  for(i=0;i

  if (s%2!=0)

  {t[j]=s;

  j++;}

  t[j]=‘’;}

第4题:

函数fun的功能是:将s所指字符串中下标为偶数同时ASCIl值为奇数的字符删除,S所指串中剩余的字符形成的新串放在t所指的数组中。

例如,若s所指字符串中的内容为“ABCDEFGl2345”,其中字符C的ASCIl码值为奇数,在数组中的下标为偶数,因此必须删除;而字符l的ASCIl码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是“BDFl2345”。

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

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:


正确答案:

第5题:

函数fun的功能是:将S所指字符串中除下标为偶数同时ASCIl码值也为偶数的字符外,其余的全部删除;字符串中剩余字符所形成的新串放在t所指的数组中。

例如,若s所指字符串中的内容为“ABCDEFGl23456”,其中字符A的ASCIl码值为奇数,因此应当删除;字符8的ASCIl码值为偶数,但在数组中的下标为奇数,因此也应当删除;字符2的ASCIl码值为偶数,在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是‘&39;246”。

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

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:


正确答案:

第6题:

请编写函数proc,其功能是:将str所指字符串中除下标为偶数、同时ASCIl码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCIl码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCIl码值为奇数,所在数组中的下标为偶数,因此不应当删除。依此类推,最后t所指的数组中的内容应是ACEG。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所写的若干语句。 试题程序: include<stdlib.h> include<conio.h> include<stdio.h> include<string.h> void proc(char*str,char t[]) { } void main { char str[100],t[100]; system("CLS"); printf("\nPlease enter string str:"); scanf("%S",str); proc(str,t); printf("\nThe result iS:%s\n",t);


正确答案:
void proc(char*str。chart[3])
{
int i,j=0;
for(i=0;str[i]! =\O;i++)//从数组的第一个元素开始,到其最后一个
{if(i%2= =0str[i]%2 1=o)//下标为偶数、同时ASCIl码值为奇数的字符
t[j++]=str[i];} //如果成立,则把它放到t数组中
t[i]=\o;//字符串结束标志为\0
}
【解析】题目中要求将字符串str中下标为偶数,同时ASCIl码值为奇数的字符放在数组t中。首先,需要检查字符串str中下标为偶数的字符其ASCIl码值是否为奇数,将符合要求的字符放在数组t中。最后,为新的字符串数组添加结束符。

第7题:

函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一含新串放在t所指的数组中。

例如,若s所指字符串中的内容为:“ABCDEFGl23456”,其中字符A的ASCII码值为奇数,因此应当删除:其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是:“246”。

注意:部分源程序存在文件PROGl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


正确答案:
解析:该程序功能是将字符串中除了下标为偶数、ASCII值也为偶数的字符外,其余的全都删除。解题过程利用if条件判断表达式选择符合条件的字符,然后将符合条件的字符放入指定的字符串。

第8题:

假定输人的字符串中只包含字母和*号。请编写函数proc,它的功能是:将字符串中 的前导*号全部删除,中间和后面的*号不删除。 例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容则 应当是a*bc*def*g****。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编 写的若干语句。 试题程序: include<stdio.h> include<conio.h> void proc(char*str) { } void main { char str[81]; printf("Enter a string:kn"); gets(str); proc(str); printf("The string after deleted:kn"); puts(str);}


正确答案:
void proc(char * str)
{
char*p=str;
while(* p= =*)p++;//通过p的移动来达到使p指向第一个不是*号的字符
for(;* p!=\0;p++,str++)//把从第一个不是*号的字符放到a中
* str=* P:
* str=\0;//最后用\0作为字符串结束标志
}
【解析】题目中要求将字符串中的前导*号全部删除,首先将指针P移动到第一个不是*的字符,将指针P之后的字符放入原来的字符串中,并为新的字符串添加结束符。

第9题:

假定输入的字符串中只包含字母和*号。请编写函数proc,它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。

例如,若字符串中的内容为****a*bc*def*g** **,删除后,字符串中的内容则应当是a*bc*def*g** **。

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

请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。

试题程序:

include<stdio.h=:{>

include<conio.h>

woid proc(char*st r)

{

}

void main

char str[81];

printf("Enter a string:\n");

gets(str);

proc(str):

printf("The string after deleted:\n");

puts(str);}


正确答案:

void proc(char*str)

{

char*p=str

while(*p=='*')p++;//通过P的移动来达

到使P指向第一个不是*号的字符

for(*p!='0 'p++str++)//把从第一个

不是*号的字符放到a中 ‘

*str=* P

*str='0 '; //最后用'0'作为字符串结束标志

}

【解析】题目中要求将字符串中的前导*号全部删除首先将指针p移动到第一个不是*的字符,将指针P之后的字符放入原来的字符串中,并为新的字符串添加结束符。