C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t下面是我编写的,没有语法错误,但算不出结果.帮我找到
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 18:16:01
![C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t下面是我编写的,没有语法错误,但算不出结果.帮我找到](/uploads/image/z/8545439-47-9.jpg?t=C%E8%AF%AD%E8%A8%80%EF%BC%9A%E6%95%B4%E6%95%B0%E5%90%84%E4%BD%8D%E5%8F%96%E5%A5%87%E6%95%B0%21%E5%B0%86%E4%B8%80%E4%B8%AA%E6%95%B4%E6%95%B0%E4%B8%AD%E7%9A%84%E6%AF%8F%E4%BD%8D%E4%B8%8A%E4%B8%BA%E5%A5%87%E6%95%B0%E7%9A%84%E6%95%B0%E4%BE%9D%E6%AC%A1%E5%8F%96%E5%87%BA%2C%E6%9E%84%E6%88%90%E4%B8%80%E4%B8%AA%E6%96%B0%E6%95%B0%E6%94%BE%E5%9C%A8t%E4%B8%AD%21%E9%AB%98%E4%BD%8D%E4%BE%9D%E6%97%A7%E6%98%AF%E9%AB%98%E4%BD%8D%2C%E4%BD%8E%E4%BD%8D%E4%BE%9D%E6%97%A7%E6%98%AF%E4%BD%8E%E4%BD%8D%2C%E7%84%B6%E5%90%8E%E8%BE%93%E5%87%BAt%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%88%91%E7%BC%96%E5%86%99%E7%9A%84%2C%E6%B2%A1%E6%9C%89%E8%AF%AD%E6%B3%95%E9%94%99%E8%AF%AF%2C%E4%BD%86%E7%AE%97%E4%B8%8D%E5%87%BA%E7%BB%93%E6%9E%9C.%E5%B8%AE%E6%88%91%E6%89%BE%E5%88%B0)
C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t下面是我编写的,没有语法错误,但算不出结果.帮我找到
C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!
高位依旧是高位,低位依旧是低位,然后输出t
下面是我编写的,没有语法错误,但算不出结果.帮我找到自己错在哪里了,
#include
void fun(int i,int n,int *p)
{
int k;
i=0;
while(n!=0)
{
k=n%10;
if((k%2)!=0)
{ i++; *p++=k; } //i 是计算器,记录有多少个数字
n/=10;
}
}
void main()
{
int n,t[100],*p,i; //i 是计算器,记录有多少个数字
p=t; //将数组t的首地址给p
printf("input the integer:\n");
scanf("%d",&n);
printf("the original is %d\n",n);
fun(i,n,p); //有i个数字
int a;
for(a=i-1;a>=0;a--)
printf("the later number is %d",t[a]);
}
C语言:整数各位取奇数!将一个整数中的每位上为奇数的数依次取出,构成一个新数放在t中!高位依旧是高位,低位依旧是低位,然后输出t下面是我编写的,没有语法错误,但算不出结果.帮我找到
修改了. 给你删了一个变量
void fun(int *i,int n,int *p)
{
int k;
*i=0;
while(n!=0)
{
k=n%10;
if((k%2)!=0)
{ (*i)++; *p++=k; }
n/=10;
}
}
int main(void)
{
int n,t[100],i;
//p=t;
printf("input the integer:\n");
scanf("%d",&n);
printf("the original is %d\n",n);
fun(&i,n,t);
int a;
printf("the later number is : ");
for(a=i-1;a>=0;a--)
printf("%d",t[a]);
printf("\n");
return 0;
}