#include
#include
int main()
{
int num,a,b,n,c;
printf("请输入一个大于1000的整数:");
scanf("%d",&num);
a=num;
while(num!=0)
{
num=num/10;
n++;
}
c=n;
num=a;
while(n!=0)
{
b=a/(int)pow(10,n-1);
a=a%(int)pow(10,n-1);
if(b%2==0)
printf("%d",b);
n--;
}
}
代码里,n 没有初始化,就开始 n++; 将n 初始化一下,就得到你想要的效果了:
#include <stdio.h>
#include <math.h>
int main()
{
int num, a, b, n = 0, c;
printf("请输入一个大于1000的整数:");
scanf("%d", &num);
a = num;
while (num != 0)
{
num = num / 10;
n++;
}
c = n;
num = a;
while (n != 0)
{
b = a / (int)pow(10, n - 1);
a = a % (int)pow(10, n - 1);
if (b % 2 == 0)
printf("%d", b);
n--;
}
}
a/int就是整型除整型了,结果还是整型
a,b都是int类型,这不就为0了么
你这代码想干啥???