函数fun的功能是: 将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:"ABCDEFG123456",其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是:"246"。 注意:部分源程序存在文件prog.cpp中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句
时间: 2024-03-21 11:42:34 浏览: 184
下面是对应的函数fun的代码实现:
```
void fun(char *s, char *t)
{
int j = 0;
for (int i = 0; s[i] != '\0'; i++)
{
if (i % 2 == 0 && s[i] % 2 == 0)
{
t[j++] = s[i];
}
}
t[j] = '\0';
}
```
函数中使用了一个for循环,对s所指的字符串进行遍历,判断每个字符的下标和ASCII值是否都是偶数,如果是,则把该字符放入t所指的数组中。最后,把t所指数组的最后一个元素置为'\0',表示该数组中的字符已经结束。
相关问题
用c语言函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。
以下是实现该功能的C语言函数fun的代码:
```c
void fun(char *s, char *t) {
int i, j;
for (i = 0, j = 0; s[i] != '\0'; i++) {
if (i % 2 == 0 && s[i] % 2 == 1) {
continue;
}
t[j++] = s[i];
}
t[j] = '\0';
}
```
该函数接受两个参数,s和t,分别表示原始字符串和新的字符串。函数遍历原始字符串中的每个字符,如果其下标是偶数且ASCII码是奇数,则跳过该字符,否则将其添加到新的字符串中。最后在新的字符串的末尾加上字符串结束符'\0'。注意,该函数不会改变原始字符串s的值,只会生成一个新的字符串t。
编写函数void fun(char *s,char t[]),将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。 例如:若s所指字符串中的内容为:"ABCDEFG12345",其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是:"135"。
以下是函数的实现:
```c
void fun(char *s, char t[]) {
int i, j;
j = 0;
for (i = 0; s[i] != '\0'; i++) {
if (i % 2 == 1 && s[i] % 2 == 1) {
t[j] = s[i];
j++;
}
}
t[j] = '\0';
}
```
函数的思路是,遍历字符串s中的每个字符,如果字符的下标和ASCII值都是奇数,则将该字符放入新串t中。最后在新串t的末尾加上字符串结束标志'\0'。
阅读全文