公子哥耽美小说都有啥:以C语言编程计算tc目录下aa.bmp文件里二进制1的个数

来源:百度文库 编辑:高校问答 时间:2024/05/01 22:13:52
以C语言编程计算tc目录下aa.bmp文件里二进制1的个数
到底哪个是正确答案啊?
这个题目是我考试题目啊
哪个是正确的啊?

#include <stdio.h>
#include <stdlib.h>
void main()
{

FILE *bmp=fopen("tc\\aa.bmp","rb");
char i,temp; long n=0;
while (fread(&temp,1,1,bmp) )
for (i=0;i<8;i++,temp>>=1) if (temp&1) n++;
fclose(bmp);
printf("N=%ld",n);
}

楼上好快!强人
#include <stdio.h>

char func(char ctemp)
{
char ret = 0;
while (ctemp)
{ctemp &= ctemp - 1;
++ret; }
return ret;
}
void main(void)
{
FILE *f=fopen("tc\\aa.bmp","rb");
char ch;
unsigned long nCount=0;
while (fread(&ch,1,1,f) )
nCount+=func(ch);
fclose(f);
printf("%ld",nCount);
}