c语言,只保留s字符串中下标为偶数且ascii值为偶数的值,求改错

发布网友 发布时间:2024-10-24 02:56

我来回答

3个回答

热心网友 时间:2024-11-12 14:29

上图是运行结果;

把你的程序改了一点点就好了,如下;(此程序貌似只针对字符串,,而且运行时需要等一下,反应不是特别快,祝你好运哈!!!)

#include <stdio.h>
#include <string.h>
char fun(char *s, char t[])
{int i,k,j=0,n=0;char m[100]
;
for(i=0;s[i]!='\0';i++,i++)
m[j++]=s[i];
for(k=0;k<j;k++)
m[k]=(int)m[k];
for(j=0;j<k;j++)
{if (m[j]%2==0)t[n++]=m[j];}t[n++]='\0';return t[n];}
main()
{  char   s[300], t[300]; 

 printf("\nPlease enter string S:"); 
 scanf("%s", &s);  t[300]=fun(s, t);
 printf("\nThe result is: %s\n", t );
 }

热心网友 时间:2024-11-12 14:29

{if (m[j]%2==0)
t[n]=m[j];}
t[n]='\0';
}
修改为
{if (m[j]%2==0)
t[n++]=m[j];}
}
t[n]='\0';

热心网友 时间:2024-11-12 14:23

void fun(const char *s, char t[])
{
int i = 0;
while(*s!='\0')
{
int temp = (int)*s;
if(temp%2 == 0){
t[i++]=*s;
}
s += 2;
}
t[i]='\0';
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com