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

admin2021-06-15  38

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

选项

答案(1)if(i%2 || s[i]%2==O)或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://kaotiyun.com/show/x5tp777K
0

最新回复(0)