标题 逆序输出一个整数的各位数字(思维发散)
#include<stdio.h>
int main()
{int x,d;
scanf("%d",&x);
while(x!=0)
{d=x%10;
printf("%d",d);
x=x/10;
}
return 0;
}
运行结果:
思维发散:
while(x!=0)
{d=x%10;
printf("%d",d);
x=x/10; }
反思:(1)该代码思路同样可以用来解决求某个数字在输入的某个整数中出现的次数。
eg:
while(N!=0) //N为输入的一个整数
{d=N%10;
if(d==D) //D为指定的某个数字
count++;
N=N/10;
}
(2)当然同样在遇到要求为不许输出前导0的前提下逆序输出一个整数的各位数字,也只需在该代码上做出修改。
eg:
代码:
#include<stdio.h>
#include<math.h>
int main(){
int x,d,i=0,sum=0;
int a[100000];
scanf("%d",&x);
while(x!=0) {
d=x%10;
a[i]=d;
x=x/10;
i++; }
for(int j=0;j<=i-1;j++)
sum+=a[j]*pow(10,i-j-1);
printf("%d",sum);
return 0;
}
运行结果:
#做题不在于多,而在于精#