程序分析:可以这样考虑: (1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4) (3)将上面二者进行&运算。 2.程序源代码: main() {
unsigned a,b,c,d; scanf(\b=a>>4; c=~(~0<<4); d=b&c;
printf(\}
============================================================== 【程序55】
题目:学习使用按位取反~。 1.程序分析:~0=1; ~1=0; 2.程序源代码: #include \main() {
int a,b; a=234; b=~a;
printf(\a=~a;
printf(\}
============================================================== 【程序56】
题目:画图,学用circle画圆形。 1.程序分析: 2.程序源代码: /*circle*/
#include \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);
26
k=k+j; j=j+0.3; } }
============================================================== 【程序57】
题目:画图,学用line画直线。
1.程序分析: 2.程序源代码:
#include \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; } }
============================================================== 【程序58】
题目:画图,学用rectangle画方形。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:
#include \main()
{int x0,y0,y1,x1,driver,mode,i;
27
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,\line(130,60,480,60); setcolor(2);
circle(269,269,137); }
============================================================== 【程序59】
题目:画图,综合例子。 1.程序分析: 2.程序源代码:
# define PAI 3.1415926 # define B 0.809
# include \#include \main() {
int i,j,k,x0,y0,x,y,driver,mode; float a;
driver=CGA;mode=CGAC0;
initgraph(&driver,&mode,\setcolor(3);
setbkcolor(GREEN); x0=150;y0=100; circle(x0,y0,10); circle(x0,y0,20); circle(x0,y0,50); for(i=0;i<16;i++) {
a=(2*PAI/16)*i;
x=ceil(x0+48*cos(a)); y=ceil(y0+48*sin(a)*B);
setcolor(2); line(x0,y0,x,y);}
28
setcolor(3);circle(x0,y0,60);
/* Make 0 time normal size letters */ settextstyle(DEFAULT_FONT,HORIZ_DIR,0); outtextxy(10,170,\getch();
setfillstyle(HATCH_FILL,YELLOW); floodfill(202,100,WHITE); getch();
for(k=0;k<=500;k++) {
setcolor(3);
for(i=0;i<=16;i++) {
a=(2*PAI/16)*i+(2*PAI/180)*k; x=ceil(x0+48*cos(a)); y=ceil(y0+48+sin(a)*B);
setcolor(2); line(x0,y0,x,y); }
for(j=1;j<=50;j++) {
a=(2*PAI/16)*i+(2*PAI/180)*k-1; x=ceil(x0+48*cos(a)); y=ceil(y0+48*sin(a)*B); line(x0,y0,x,y); } }
restorecrtmode(); }
============================================================== 【程序60】
题目:画图,综合例子。 1.程序分析: 2.程序源代码:
#include \#define LEFT 0 #define TOP 0 #define RIGHT 639 #define BOTTOM 479 #define LINES 400 #define MAXCOLOR 15 main() {
int driver,mode,error; int x1,y1; int x2,y2;
int dx1,dy1,dx2,dy2,i=1;
29
int count=0; int color=0; driver=VGA; mode=VGAHI;
initgraph(&driver,&mode,\x1=x2=y1=y2=10; dx1=dy1=2; dx2=dy2=3;
while(!kbhit()) {
line(x1,y1,x2,y2); x1+=dx1;y1+=dy1; x2+=dx2;y2+dy2;
if(x1<=LEFT||x1>=RIGHT) dx1=-dx1;
if(y1<=TOP||y1>=BOTTOM) dy1=-dy1;
if(x2<=LEFT||x2>=RIGHT) dx2=-dx2;
if(y2<=TOP||y2>=BOTTOM) dy2=-dy2;
if(++count>LINES) {
setcolor(color);
color=(color>=MAXCOLOR)?0:++color; } }
closegraph(); }
【程序61】
题目:打印出杨辉三角形(要求打印出10行如下图)1.程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
1 5 10 10 5 1 2.程序源代码: main() {int i,j;
int a[10][10]; printf(\for(i=0;i<10;i++) {a[i][0]=1; a[i][i]=1;}
30
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C程序设计五百例--用c语言解决数学建模问题(6)在线全文阅读。
相关推荐: