解题思路:把一个十进制数转换为一个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分
1 人评分
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:495 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:629 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:576 |
文科生的悲哀 (C语言代码)浏览:1401 |
Hello, world! (C语言代码)浏览:714 |
C二级辅导-求偶数和 (C语言代码)浏览:674 |
C二级辅导-同因查找 (C语言代码)浏览:568 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1475 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:657 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:421 |