#include stdio.h void main() { int a; scanf("%d",a); char c[100],b[100]; int len=0; while (a0) { c[len++]=a%2; a=a/2; } for (int i=0;ilen;i++) { b[i]=c[len-i-1]+'0'; } b[len]='\0'; printf("%s",b); } 补充: 方法二: #include stdio.h void main() { int a; scanf("%d",a); char c[100],b[100]; int len=0; if (a==0) { printf("0"); } while (a0) { c[len++]=a1; a=1; } for (int i=0;ilen;i++) { b[i]=c[len-i-1]+'0'; } b[len]='\0'; printf("%s",b); } 追问: char c[100],b[100];编译时提示表达式语法错误。 为什么要char c[],b[]。啊 int 不行吗。 不过这程序我看不懂。 学的还浅。比如:b[i]=c[len-i-1]+'0'; 还有b[len]='\0'; 这两句不轮没明白怎么回事。请帮我解答一下吧。 回答:庆亮 //应该没错误吧,我都测试过了,不行的话试试这个char c[100]={'\0'},b[100]={'\0'}; #include stdio.h void main() { int a; scanf("%d",a); char c[100],b[100]; //用于存储二进制符号 int len=0; //数组长度 while (a0) //a大于零则进入循环 { c[len++]=a%2; a=a/2; } //下面的for语句是为了将数组倒置,并将数字转化为字符腊差纳(+'0') for (int i=0;ilen;i++) { b[i]=c[len-i-1]+'0'; //数组倒置,并将数字转化为字符 } b[len]='\0'; //串尾结束符 ,指明字符串在这里结束 printf("%s",b); }
站在用户的角度思考问题,与客户深入沟通,找到淇县网站设计与淇县网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、网站空间、企业邮箱。业务覆盖淇县地区。