解题思路:把一个十进制数转换为一个32位二进制数保存到字符数组中,然后判断是否对称即可,用一个变量统计对称个数。
注意事项:
参考代码:
#include<stdio.h> #include <string.h> #define N 40 int judge(char a[]) //判断是否对称 { int i,j,len; len=strlen(a); for(i=0,j=len-1;i<j;i++,j--) if(a[i]!=a[j]) return 0; return 1; } int main() { char a[N]; unsigned int n; //注意必须定义无符号整数 int i,count=0; while(scanf("%u",&n)!=EOF) { for(i=0;i<32;i++) //转换为二进制数字符串 { a[i]=n%2+'0'; n=n/2; } a[i]='\0'; if(judge(a)) //对称则加1 count++; } printf("%d",count); return 0; }
0.0分
2 人评分
简单的a+b (C语言代码)浏览:878 |
水仙花 (C语言代码)浏览:1163 |
钟神赛车 (C语言代码)浏览:665 |
Pascal三角 (C语言代码)浏览:707 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:855 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:599 |
C语言程序设计教程(第三版)课后习题8.1 (C++代码)浏览:612 |
Manchester-弟弟的作业浏览:4152 |
WU-IP判断 (C++代码)(一种有趣的实现方法)浏览:1572 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)简单数组循环版浏览:356 |