本人刚刚学习c语言
对于mooc上 翁恺 的这道题,这样写对吗?
还请各位不吝赐教谢谢了。
提供一种题解:
#include <stdio.h>
int main(void)
{
int n=0,i=0,j=0,p[100]={0},a=0,b=1,sum=0;
scanf("%d",&n);
while(n>0)
{
a=n%10; //a存放数字
i++; //i存放数位
if(a%2==0 && i%2==0 || a%2==1 && i%2==1) //同为奇或者同为偶则那个二进制为1
p[i-1]=1;
else
p[i-1]=0;
n/=10;
}
for(j=0;j<i;j++)
{
sum+=p[j]*b;
b*=2;
}
printf("%d",sum);
return 0;
}
有问题欢迎交流,有帮助望采纳,谢谢!