C:如何分解整数(取某位的值以及循环取值做运算)
主要通过整除与取余来处理
#include<stdio.h>
int main()
{
int num;
int num_1,num_2,num_3;
scanf("%d",&num);
num_1 = (num/1) % 10;
num_2 = (num/10) % 10;
num_3 = (num/100) % 10;
printf("%d",num_1 * 100 + num_2 * 10 + num_3 * 1);
}
在上述代码中,num_1表示个位,num_2表示十位,num_3表示百位,分别通过(num/1) % 10,(num/10) % 10以及(num/100) % 10来获得。
#include <math.h>
int main()
{
int sum = 0;
int number,last,cout = 1;
scanf("%d",&number);
while(number > 0)
{
last = number % 10;
if (last % 2 == (cout % 2))
{
sum += pow(2,cout-1);
cout ++;
}
else
{
sum += 0;
cout ++;
}
number = number / 10;
}
printf("%d",sum);
}
在上述的代码中,主要通过while(number > 0)以及number % 10和number/10来完成循环取值的运算
