设为首页 加入收藏

TOP

C语言的学习基础,100个经典的算法 (六)
2014-11-23 22:57:37 来源: 作者: 【 】 浏览:11
Tags:语言 学习 基础 100 经典 算法
_________

程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1            


___________________________________________________________________

程序源代码:

#include "stdio.h"

main()

{

int a,b;

a=077;

b=a|3;

printf("\40: The a & b(decimal) is %d \n",b);

b|=7;

printf("\40: The a & b(decimal) is %d \n",b);

}


题目:学习使用按位异或 ^ 。   


___________________________________________________________________

程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0


___________________________________________________________________

程序源代码:

#include "stdio.h"

main()

{

int a,b;

a=077;

b=a^3;

printf("\40: The a & b(decimal) is %d \n",b);

b^=7;

printf("\40: The a & b(decimal) is %d \n",b);

}


题目:取一个整数a从右端开始的4~7位。


___________________________________________________________________

  程序分析:可以这样考虑:

(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)

(3)将上面二者进行&运算。


___________________________________________________________________

程序源代码:

main()

{

unsigned a,b,c,d;

scanf("%o",&a);

b=a>>4;

c=~(~0<<4);

d=b&c;

printf("%o\n%o\n",a,d);

}


题目:学习使用按位取反~。   


___________________________________________________________________

程序分析:~0=1; ~1=0;


___________________________________________________________________

程序源代码:

#include "stdio.h"

main()

{

int a,b;

a=234;

b=~a;

printf("\40: The a's 1 complement(decimal) is %d \n",b);

a=~a;

printf("\40: The a's 1 complement(hexidecimal) is %x \n",a);

}


题目:画图,学用circle画圆形。


___________________________________________________________________

程序源代码:

/*circle*/

#include "graphics.h"

main()

{

int driver,mode,i;

float j=1,k=1;

driver=VGA;mode=VGAHI;

initgraph(&driver,&mode,"");

setbkcolor(YELLOW);

for(i=0;i<=25;i++)

  {

   setcolor(8);

   circle(310,250,k);

   k=k+j;

   j=j+0.3;

  }

}


题目:画图,学用line画直线。


___________________________________________________________________


     

程序源代码:

#include "graphics.h"

main()

{

int driver,mode,i;

float x0,y0,y1,x1;

float j=12,k;

driver=VGA;mode=VGAHI;

initgraph(&driver,&mode,"");

setbkcolor(GREEN);

x0=263;y0=263;y1=275;x1=275;

for(i=0;i<=18;i++)

  {

   setcolor(5);

   line(x0,y0,x0,y1);

   x0=x0-5;

   y0=y0-5;

   x1=x1+5;

   y1=y1+5;

   j=j+10;

  }

x0=263;y1=275;y0=263;

for(i=0;i<=20;i++)

  {

   setcolor(5);

   line(x0,y0,x0,y1);

   x0=x0+5;

   y0=y0+5;

   y1=y1-5;

  }

}


题目:画图,学用rectangle画方形。   


___________________________________________________________________


 

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。


___________________________________________________________________


 

程序源代码:

#include "graphics.h"

main()

{

int x0,y0,y1,x1,driver,mode,i;

driver=VGA;mode=VGAHI;

initgraph(&driver,&mode,"");

setbkcolor(YELLOW);

x0=263;y0=263;y1=275;x1=275;

for(i=0;i<=18;i++)

  {

   setcolor(1);

   rectangle(x0,y0,x1,y1);

   x0=x0-5;

   y0=y0-5;

   x1=x1+5;

   y1=y1+5;

  }

settextstyle(DEFAULT_FONT,HORIZ_DIR,2);

outtextxy(150,40,"How beautiful it is!");

line(130,60,480,60)

setcolor(2);

circle(269,269,137);

}

首页 上一页 3 4 5 6 下一页 尾页 6/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇多维数组的实现 下一篇大型项目中C语言的模块化建议

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: