Hzu挑战自我


私信TA

用户名:gxhzxyjsj

访问量:98768

签 名:

2024终究会过去,期待2025!

等  级
排  名 8
经  验 27853
参赛次数 67
文章发表 157
年  龄 0
在职情况 教师
学  校 贺州学院
专  业 软件工程

  自我简介:

弱鸡一个,继续努力!

解题思路:把一个十进制数转换为一个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 人评分

  评论区

  • «
  • »