程序练习

来源:互联网 发布:文华程序化交易源码 编辑:程序博客网 时间:2024/05/29 18:39

    求1到1000以内的完数:

程序如下:

#include<stdio.h>
int main()
{
int i,j,p;
        for(i=2;i<1000;i++)
        {
                p=0;
                for(j=1;j<i;j++)
                {
                        if(i%j==0)
                        p+=j;
                }
                if(p==i)
                printf("%d ",p);
        }
printf("\n");
return 0;
}
这里有点易错的地方,那就是p的初始化,每次循环结束后都要将p重新赋初值0.
对一个字节的数据求其各位上1的个数。程序如下:
#include<stdio.h>
int main()
{
char c;
char tmp=1;
int i,j=0;
scanf("%c",&c);
for(i=0;i<8;i++)
        {
                if((c&tmp)!=0)
                j++;
                tmp=tmp<<1;
        }
printf("%d\n",j);
return 0;
}
记得要给I,j初始化,否则会出现一个垃圾值。这里需要用到位运算符,按位与和左移运算符。

0 0
原创粉丝点击