问题描述
- 函数fun的功能是:将s所指字符串中下标为奇数同时ASCII值也为奇数的字符删除,
-
#include
void fun(char *s, char t[])
{ //定义变量;形参在函数的头部进行了声明,直接用,不用再重复定义。
//构建循环,用哪种循环语句好?对于字符串,循环结束的条件一般是什么?
//判断字符符合条件,如果是,源串下标增1(表示取下一字符);如果否,进行字符的赋值,然后源串和目的串的下标都增1。
//新串应加上结束标志。
}
void main()
{
char s[100],t[100];
printf("请输入字符串:n"); scanf("%s",s);
fun(s,t);
printf("n形成的新串为:%sn",t);
}
解决方案
#include <iostream>
#include <string.h>
using namespace std;
void fun(char *s, char t[])
{
int j = 0;
for (unsigned int i = 0; i < strlen(s); i++)
{
if (i % 2 == 1 && ((int)s[i] % 2 == 1)) continue;
t[j++] = s[i];
}
t[j] = '';
}
int main()
{
char s[] = "hello world!";
char t[100];
fun(s, t);
cout << t << endl;
}
解决方案二:
http://codepad.org/ah2VD3vf
hllo wrld
解决方案三:
这就是strcpy的一个变种吧,只不过某些字符不拷贝而已。
时间: 2025-01-25 14:21:47