C 使用%运算符在模式中显示整数

C 使用%运算符在模式中显示整数,c,C,从用户处获取一个整数作为输入,并按以下方式显示它 5678 678 78 八, 我的代码适用于4位数字,但对于5位数字,它给出了错误的输出 main() { int i,reqpow,n,x,rem,temp; printf("Enter a number: "); scanf("%d",&n); temp=n; int digit=0; while(temp!=0) { temp=temp/10; digit++; } reqpow=digit-1; printf("

从用户处获取一个整数作为输入,并按以下方式显示它
5678
678
78
八,

我的代码适用于4位数字,但对于5位数字,它给出了错误的输出

main()
{
int i,reqpow,n,x,rem,temp;
printf("Enter a number: ");
scanf("%d",&n);

temp=n;
int digit=0;
while(temp!=0)
{
    temp=temp/10;
    digit++;
}
reqpow=digit-1;
printf("\n\n%d\n",n);
 for(i=pow(10,reqpow);i>1;i=i/10)
 {
     rem=0;
     rem=n%i;
     printf("%d\n",rem);
 }

}

#包括
#包括
int main()
{
内部i、需求功率、n、x、rem、温度;
printf(“输入一个数字:”);
scanf(“%d”和“&n”);
温度=n;
整数位数=0;
while(温度!=0)
{
温度=温度/10;
数字++;
}
reqpow=数字1;
printf(“\n\n%d\n”,n);
对于(i=pow(10,要求pow);i>1;i=i/10)
{
rem=0;
rem=n%i;
printf(“%d\n”,rem);
}
返回0;
}

我在Dev cpp编译器上运行您的代码,它会根据您的要求提供输出。

数字的定义在哪里。

现在粘贴代码时遗漏了它“代码适用于4位数字,但对于5位数字,它提供了错误的输出”和“123456的正确输出”。启发式猜测是,对于偶数数字输入,您可以得到正确的结果。它是否给你任何提示?同样对于3位和8位数字,输出是错误的,在相同模式(123和12345678)的3位和8位输入中?我使用代码块。12345678的产量是多少?是的,兄弟。你应该看看其他编译器。我用codechef编译器试过。它的输出是正确的,但使用codeblocks和turbo c则不是。仍然不知道codeblocks显示错误op的原因。@MS1018每个编译器的设计都不同,所以不同的编译器在一段时间内会给出不同的输出,因为它们的设计器不同。
#include<stdio.h>
#include<math.h>
int main() 
{
 int i,reqpow,n,x,rem,temp;
 printf("Enter a number: ");
 scanf("%d",&n);

 temp=n;
 int digit=0;
 while(temp!=0)
{
 temp=temp/10;
 digit++;
 }
reqpow=digit-1;
printf("\n\n%d\n",n);
for(i=pow(10,reqpow);i>1;i=i/10)
{
 rem=0;
 rem=n%i;
 printf("%d\n",rem);
  }
  return 0;
  }