0
사용자가 입력 한 숫자를 반전 시키려고합니다 (즉, 사용자가 입력 한 숫자는 양수를 입력하는 한 배열에 저장됩니다). 그러나 입력 할 때 123 4569 752 896 -1 출력은 입니다. 두 번째 숫자는 9654가 아니므로 수정할 수 없습니다.사용자가 입력 한 번호를 반대로 입력하십시오.
#include <stdio.h>
#include <math.h>
// finding the number of digits
int bsm(int a){
int i=0;
while(a!=0){
i++;
a=a/10;
}
return i;
}
// reversing the number
int rev(int m,int a){
int s=0,sum=0;
while(a!=0){
s=a%10;
sum+=s*pow(10,m)/10;
m--;
a=a/10;
}
return sum;
}
int main()
{
int i=0,k,a[10],p,r;
scanf("%d",&a[i]);
while(a[i]>0){
i++;
scanf("%d",&a[i]);
}
for(k=0;k<i;k++){
p=bsm(a[k]);
r=rev(p,a[k]);
printf("\n%d ",r);
}
return 0;
}
이 숙제입니까? –
입력을 문자열로 유지하십시오. int는 사용하지 마십시오. 이렇게하면 개별 문자에 쉽게 액세스 할 수 있으며 반올림 문제가 발생하지 않아 문제가 될 수 있습니다. –
글쎄, 내게 잘 작동! 입력 내용을 확인하십시오! –