#include<stdio.h>
int main()
{
int s,t[80],i=0,x;
scanf("%d",&s);
while(s!=0)
{
t[i]=s%10;
s=s/10;
i++;
}
for(i=0;i!='\0';i++)
{
if(t[i]%2==1)
x=x*10+t[i];
}
printf("%d",x);
return 0;
}
你的的太麻烦了,没有不要用数组。我给你写了一版,供你参考。如果有帮助,望采纳。
#include <stdio.h>
int main() {
int s, n = 0, flag = 1;
scanf("%d", &s);
if (s < 0) {
s = -s;
flag = -1;
}
while (s != 0) {
int r = s % 10;
if (r % 2 != 0)
n = n * 10 + r;
s = s / 10;
}
n = n * flag * 2;
printf("%d", n);
return 0;
}