【程序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('/n'); for(i=0;i<10;i++) {a[i][0]=1; a[i][i]=1;} for(i=2;i<10;i++) for(j=1;j<i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) {for(j=0;j<=i;j++) printf('%5d',a[i][j]); printf('/n'); } } ============================================================== 【程序62】 题目:学习putpixel画点。 1.程序分析: 2.程序源代码: #include 'stdio.h' #include 'graphics.h' main() { int i,j,driver=vga,mode=vgahi; initgraph(&driver,&mode,''); setbkcolor(yellow); for(i=50;i<=230;i+=20) for(j=50;j<=230;j++) putpixel(i,j,1); for(j=50;j<=230;j+=20) for(i=50;i<=230;i++) putpixel(i,j,1); } ============================================================== 【程序63】 题目:画椭圆ellipse 1.程序分析: 2.程序源代码: #include 'stdio.h' #include 'graphics.h' #include 'conio.h' main() { int x=360,y=160,driver=vga,mode=vgahi; int num=20,i; int top,bottom; initgraph(&driver,&mode,''); top=y-30; bottom=y-30; for(i=0;i<num;i++) { ellipse(250,250,0,360,top,bottom); top-=5; bottom+=5; } getch(); } ============================================================== 【程序64】 题目:利用ellipse and rectangle 画图。 1.程序分析: 2.程序源代码: #include 'stdio.h' #include 'graphics.h' #include 'conio.h' main() { int driver=vga,mode=vgahi; int i,num=15,top=50; int left=20,right=50; initgraph(&driver,&mode,''); for(i=0;i<num;i++) { ellipse(250,250,0,360,right,left); ellipse(250,250,0,360,20,top); rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2)); right+=5; left+=5; top+=10; } getch(); } ============================================================== 【程序65】 题目:一个最优美的图案。 1.程序分析: 2.程序源代码: #include 'graphics.h' #include 'math.h' #include 'dos.h' #include 'conio.h' #include 'stdlib.h' #include 'stdio.h' #include 'stdarg.h' #define maxpts 15 #define pi 3.1415926 struct pts { int x,y; }; double aspectratio=0.85; void linetodemo(void) { struct viewporttype vp; struct pts points[maxpts]; int i, j, h, w, xcenter, ycenter; int radius, angle, step; double rads; printf(' moveto / lineto demonstration' ); getviewsettings( &vp ); h = vp.bottom - vp.top; w = vp.right - vp.left; xcenter = w / 2; /* determine the center of circle */ ycenter = h / 2; radius = (h - 30) / (aspectratio * 2); step = 360 / maxpts; /* determine # of increments */ angle = 0; /* begin at zero degrees */ for( i=0 ; i<maxpts ; ++i ){ /* determine circle intercepts */ rads = (double)angle * pi / 180.0; /* convert angle to radians */ points[i].x = xcenter + (int)( cos(rads) * radius ); points[i].y = ycenter - (int)( sin(rads) * radius * aspectratio ); angle += step; /* move to next increment */ } circle( xcenter, ycenter, radius ); /* draw bounding circle */ for( i=0 ; i<maxpts ; ++i ){ /* draw the cords to the circle */ for( j=i ; j<maxpts ; ++j ){ /* for each remaining intersect */ moveto(points[i].x, points[i].y); /* move to beginning of cord */ lineto(points[j].x, points[j].y); /* draw the cord */ } } } main() {int driver,mode; driver=cga;mode=cgac0; initgraph(&driver,&mode,''); setcolor(3); setbkcolor(green); linetodemo();} ============================================================== 【程序66】 题目:输入3个数a,b,c,按大小顺序输出。 1.程序分析:利用指针方法。 2.程序源代码: /*pointer*/ main() { int n1,n2,n3; int *pointer1,*pointer2,*pointer3; printf('please input 3 number:n1,n2,n3:');
|