下列给定程序中,函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码值为偶数的字符依次放入t所指数组中。例如,字符串中的数据为“AABBCCDDEFFF”,则输出应当是“ABBCDDEFF”。 请改正程序中的错误,使它能得出正确的结果。 注

admin2017-02-24  31

问题 下列给定程序中,函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码值为偶数的字符依次放入t所指数组中。例如,字符串中的数据为“AABBCCDDEFFF”,则输出应当是“ABBCDDEFF”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
#define N 80
void fun(char*s,char t[])
{
    int i,j=0;
    for(i=0;i<(int)strlen(s);i++)
/*********found*********/
    if(i%2&&s%2==0)
    t[j++]=s
/*********found*********/
    t=’\0’;
}
main()
{
  char s[N],t[N];
  printf("\nplease enther string s:");
  gets(s);
  fun(s,t);
  printf("\nThe result is:%s\n",t);
}

选项

答案(1)if(i%2‖s[i]%2==0)或if(i%2!=0‖s[i]%2==0) (2)t[j]=’\0’;或t[j]=0;

解析 (1)根据题意,将字符串s中位于奇数位置的字符或ASCII码值为偶数的字符,依次放入字符串t中,所以if条件中要使用“或”运算。
(2)变量j控制字符串t的下标,所以是t[j]。
转载请注明原文地址:https://jikaoti.com/ti/81i0FFFM
0

最新回复(0)