编程题求解,急!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/25 19:48:47
C语言编程题:从键盘输入一字符串存到a数组中,然后删除下标为奇数的字符且asc码为奇的字符,其余字符存到数组b中,并在屏幕上输出.急急!!!!!

char buf[128];
memset(buf, 0, 128);
char dest[128];
scanf("%s", buf);
printf(buf);
int i = 0;
int j = 0;
while (buf[i]) {
if (!(buf[i] % 2)) {
dest[j++] = buf[i];
}
i += 2;
}
dest[j] = 0;
printf(dest);

C++下编的,改下就可以了
#include<iostream>
using namespace std;
int main()
{
int i,j,k;
char a[100],b[100];
gets(a);
k=strlen(a);//计算数组a的长度
for(i=0;i<k;i++)
{
if(i%2==1&&a[i]%2==1)
a[i]='\0';//下标为奇数的字符且asc码为奇的字符记为'\0'
}
for(i=0,j=0;i<=k;i++)
{
if(a[i]!='\0')
{
b[j]=a[i];//除'\0'外的字符给数组b
j++;
}
}
b[j]='\0';//数组b最后一位记为'\0'
for(j=0;b[j]!='\0';j++)//输出数组b
cout<<b[j];
cout<<endl;
return 0;
}

楼上的怎么有问题?