C语言打印图形

C语言打印图形
C语言打印图形

1-1. 编程,输入n,输出如下例(n=5)所示的图形:

*****

*****

*****

*****

*****

————

main()

{int i,j,n;

scanf("%d",&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(" ");

for(j=1;j<=n;j++)printf("*");

printf("\n");}}

1-2. 编程,输入n,输出如下例(n=5)所示的图形:

*****

*****

*****

*****

***** ————

main()

{int i,j,n;

scanf("%d",&n);

for(i=1;i<=n;i++)

{for(j=1;j<=i-1;j++)printf(" ");

for(j=1;j<=n;j++)printf("*");

printf("\n");}}

1-3. 编程,输入n值,输出如下例(n=4)所示的图形: *

***

*****

*******

————

main()

{int i,j,n;

scanf("%d",&n);

for(i=1;i<=n;i++)

printf("\n");}}

1-4. 编程,输入n值,输出如下例(n=4)所示的图形:

*******

*****

***

*

————

main()

{int i,j,n;

scanf("%d",&n);

for(i=1;i<=n;i++)

{for(j=1;j<=i-1;j++)printf(" ");

for(j=1;j<=2*(n-i)+1;j++)printf("*");

printf("\n");}}

1-5. 编程,输入n值,输出如下例(n=4)所示的高和上底均为n的等腰梯形: ****

******

********

**********

————

main()

{int i,j,n;

scanf("%d",&n);

for(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(" ");

for(j=1;j<=2*i-2+n;j++)printf("*");

printf("\n");}}

1-6. 编程,输入n值,输出如下例(n=4)所示的高和下底均为n的等腰梯形: **********

********

******

****

————

main()

{int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=n;i>=1;i--)

printf("\n");}}

1-7. 编程,输入n,输出如下例(n=3)所示的边长为n的菱形:

*

***

*****

***

*

————

main()

{int i,j,k,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=2*n-1;i++)

{if(i<=n)k=i; else k=2*n-i;

for(j=1;j<=n-k;j++)printf(" ");

for(j=1;j<=2*k-1;j++)printf("*");

printf("\n");}}

1-8. 编程,输入n值,输出如下例(n=4)所示的边长均为n的正六边形:

****

******

********

**********

********

******

**** 当 n=4 时

————

main()

{int i,j,k,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=2*n-1;i++)

{if(i<=n)k=i; else k=2*n-i;

for(j=1;j<=n-k;j++)printf(" ");

for(j=1;j<=2*k-2+n;j++)printf("*");

printf("\n");}}

1-9. 编程,输入n值,输出如下例(n=4)所示的图形:

****

*

*

****

————

main()

{

int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

if(i==1||i==n)

{for(j=1;j<=n;j++)printf("*");printf("\n");}

else{

for(j=1;j<=n-i;j++)printf(" ");

printf("*\n");

}

}

}

1-10. 编程,输入n值,输出如下例(n=4)所示的图形:

****

*

*

****

————

main()

{

int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

if(i==1||i==n)

{for(j=1;j<=n;j++)printf("*");printf("\n");}

else{

for(j=1;j<=i-1;j++)printf(" ");

printf("*\n");

}

}

}

1-11. 编程,输入n值,输出如下例(n=5)所示的图形:

*****

* *

* *

* *

*****

————

main()

{

int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

for(j=1;j<=n-i;j++)printf(" ");

printf("*");

for(j=1;j<=n-2;j++)printf("%s",i==1||i==n?"*":" ");

printf("*");

printf("\n");

}

}

1-12. 编程,输入n值,输出如下例(n=5)所示的图形:

*****

* *

* *

* *

*****

————

main()

{

int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=n;i>=1;i--)

{

for(j=1;j<=n-i;j++)printf(" ");

printf("*");

for(j=1;j<=n-2;j++)printf("%s",i==1||i==n?"*":" ");

printf("*");

printf("\n");

}

}

1-13. 编程,输入n值,输出如下例(n=4)所示的图形:

*

* *

* *

*******

————

main()

{

int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=n-1;i++)

{

for(j=1;j<=n+i-1;j++)printf("%s",j==n-i+1||j==n+i-1?"*":" ");

printf("\n");

}

for(j=1;j<=2*n-1;j++)printf("*");

}

1-14. 编程,输入n值,输出如下例(n=4)所示的图形:

*******

* *

* *

*

————

main()

{

int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(j=1;j<=2*n-1;j++)printf("*");

printf("\n");

for(i=n-1;i>=1;i--)

{

for(j=1;j<=n+i-1;j++)printf("%s",j==n-i+1||j==n+i-1?"*":" ");

printf("\n");

}

}

1-15. 编程,输入n值,输出如下例(n=4)所示的高和上底均为n的等腰梯形:

****

* *

* *

**********

————

main()

{

int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

for(j=1;j<=n-i;j++)printf(" ");

printf("*");

for(j=1;j<=n-4+2*i;j++)printf("%s",i==1||i==n?"*":" ");

printf("*");

printf("\n");

}

}

1-16. 编程,输入n值,输出如下例(n=4)所示的高和下底均为n的等腰梯形: **********

* *

* *

****

————

main()

{

int i,j,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=n;i>=1;i--)

{

for(j=1;j<=n-i;j++)printf(" ");

printf("*");

for(j=1;j<=n-4+2*i;j++)printf("%s",i==1||i==n?"*":" ");

printf("*");

printf("\n");

}

}

1-17. 编程,输入n值,输出下例(n=3)所示的边长为n的菱形:

*

* *

* *

* *

*

————

main()

{

int i,j,k,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=2*n-1;i++)

{

if(i<=n)k=i; else k=2*n-i;

for(j=1;j<=n+k-1;j++)printf("%s",j==n-k+1||j==n+k-1?"*":" ");

printf("\n");

}

}

1-18. 编程,输入n值,输出下例(n=4)所示的边长为n的正六边形:

****

* *

* *

* *

* *

* *

****

————

main()

{

int i,j,k,n;

printf("\nInput n=");

scanf("%d",&n);

for(i=1;i<=2*n-1;i++)

{

if(i<=n)k=i; else k=2*n-i;

for(j=1;j<=n-k;j++)printf(" ");

printf("*");

for(j=1;j<=n-4+2*k;j++)printf("%s",i==1||i==2*n-1?"*":" ");

printf("*");

用C语言输出各种图形

输出各种图形 一、软件开发目得 利用C程序输出各种图形 二、数据结构 采用数组、函数 三、软件功能说明 四、软件验收标准 1。有较为美观简洁大方得菜单,能保证用户方便、直观、快捷得熟悉并使用软件得各项功能。 注意:要求每执行一个具体得功能之后,程序将重新显示菜单。 2.有严密正确得数据验证功能与数据处理功能,能够实现各功能模块。 3。系统要有一定得可靠性、稳定性. 五、实现代码 1#include 2 #include 3#include 〈string、h> 4#define N 100 5char Number[N][N]; 6 //录入输出图形函数

7 void Scanf_print(int k) 8{ 9 int i; 10charnum[N]; 11for(i=0;i<N;i++) 12{ 13 if(k==1) 14{ 15 gets(Number[i]); 16 } 17else 18{ 19 printf(”%s",Number[i]);20 //printf(”\n"); 21} 22if(strlen(Number[i])==0)23 break; 24} 25 26 } 27//文件操作函数 28 int Files(char *name,char c) 29{ 30 FILE*fp=NULL; 31 int i; 32charC[4]; 33 C[0]=c; 34 C[1]='\0’; 35 strcat(name,"、txt"); 36 fp=fopen(name,C); 37 38 if(fp==NULL) 39 { 40return—1; 41 } 42 43for(i=0;i<N;i++) 44 { 45 46if(c=='w’) 47{ 48 if(strlen(Number[i])==0) 49 break; 50 fputs(Number[i],fp);

《计算机图形学基础》第一次作业参考答案

《计算机图形学基础》第一次作业参考答案 一、名词解释 1、计算机图形学:是使用计算机通过算法和程序在显示设备上构造出图形来,是真实物体或虚构物体的图形综合技术。 2、图像处理:是景物或图象的分析技术,它所研究的是计算机图形学的逆过程。包括图象增强、模式识别、景物分析、计算机视觉等,并研究如何从图象中提取二维或三维物体的模型。 3、逐点比较法:这是绘图仪经常采用的一种方法,就是在绘图过程中,绘图笔每画一笔,就与规定图形进行比较,然后决定下一步的走向,用步步逼近的方法画出规定的图形。 4、造型技术:要在计算机中构造三维物体的一幅图像,首先必须在计算机中构造出该物体的模型,这一模型是由一批几何数据及数据之间的拓朴关系来表示,这就是造型技术。 二、简答 1、计算机图形系统的组成包括哪些? 答:计算机图形系统由硬件和软件两部分组成,硬件包括:主计算机、图形显示器以及I/O交互工具和存储设备;软件包括操作系统、高级语言、图形软件和应用软件。 现代计算机图形系统与一般计算机系统最主要的差别是具有图形的输入、输出设备以及必要的交互工具,在速度和存储容量上具有较高的要求。另外,人也是这个系统的组成部分。 2、简述图形软件的组成。 答:图形软件系统应该具有良好的结构,要有合理的层次结构的模块结构,以便于设计、维护和调试。 1、零级图形软件:是最底层的软件,主要解决图形设备与主机的通讯、接口等问题,又称设备驱动程序,是一些最基本的输入、输出子程序,要求程序质量高,它是面向系统的,而不是面向用户的。 2、一级图形软件:又称基本子程序,包括生成基本图形元素,对设备进行管理的各程序模块,既面向系统又面向用户。 3、二级图形软件:也称功能子程序,是在一级图形软件基础上编制的,其主要任务是建立图形数据结构,定义、修改和输出图形;以及建立各图形设备之间的联系,要具有较强的交互功能,它是面向用户的。(以上三级通常称为支撑软件) 4、三级图形软件:是为解决某种应用问题的图形软件,是整个应用软件的一部分,通常由用户编写或与设计者一起编写。 三、算法实现 写出Bresenham方法生成直线的C语言算法。 答案: int bres_line(int x1,int y1,int x2,int y2,int color) { int oldcolor,itag; int dx,dy,tx,ty,inc1,inc2,d,curx,cury; oldcolor=setcolor(color);

c语言打印图形题(北理工版)

打印图形 1-4.打印梯形 成绩: 10 / 折扣: 0.8 输入n 值,输出如下例(n=4 )所示的高和上底均为n 的等腰梯形: **** ****** ******** ********** (上图中_表示空格) 输入:梯形的高n 输出:高和上底均为n 的等腰梯 形 #include "stdio.h" main()/*sy-3.c*/ {int i,j,n; scanf("%d",&n); for(i=1;i<=n;i++) {for(j=1;j<=n-i;j++) printf(" "); for(j=n-i+1;j<=2*i-1+(n-1);j++) printf("*"); printf("\n"); } } 1-5.打印Z形图形 成绩: 10 / 折扣: 0.8 输入n 值,输出如下例(n=4 )所示的Z 形图形: **** * * **** 输入:图形的高n 输出:高为n 的Z 形图形 #include "stdio.h" main()/*sy-3.c*/ {int i,j,n; scanf("%d",&n);

for(i=1;i<=n;i++) { if(i==1 || i==n) for(j=1;j<=n;j++) printf("*"); else for(j=1;j<=n-i+1;j++) if(j==n-i+1) printf("*"); else printf(" "); printf("\n"); } } 额外进程测试输入期待的输出 #include int main(int argc, char *argv[]) {int i,j,n; scanf("%d",&n); for(i=1;i<=n;i++) {for(j=1;j<=n;j++) if(j==1||j==n||j==i) printf("*"); else printf(" "); printf("\n"); } system("PAUSE"); return 0; } 2-3. 打印X形图形 成绩: 10 / 折扣: 0.8 时间限制内存限制额外进程测试输入期待的输出

利用C语言图形函数绘图

计算机图形学课程实 验 报 告 实验题目 班 级 姓 名 学 号 指导教师 日 期 西安理工大学理学院应用数学系 二零一二年春季学期 信息与计算科学专业基础课 Computer Graphics Report Of course experiment

实验说明 试验目的: 掌握TurboC 语言图形函数的使用和学会绘制一般图形。 试验地点: 教九楼401 数学系机房 实验要求(Direction ):1. 每个学生单独完成;2.开发语言为TurboC 或C++,也可使用其它 语言;3.请在自己的实验报告上写明姓名、学号、班级;4.每次交的实验报告内容包括:题目、试验目的和意义、程序制作步骤、主程序、运行结果图以及参考文件;5. 自己保留一份可执行程序,考试前统一检查和上交。 实验内容 实验题一 1.1实验题目 用如下图1所示,图中最大正n 边形的外接圆半径为R ,旋转该正n 边形,每次旋转θ角度,旋转后的的n 边形顶点落在前一个正六边形的边上,共旋转N 次,请上机编程绘制N+1个外接圆半径逐渐缩小且旋转的正n 边形。要求:(1) n 、R 、N 、θ要求可以人为自由控制输入;(2)N+1个正六边形的中心(即外接圆的圆心)在显示屏幕中心。 利用C 语言图形函数绘图 实验 1

1.2实验目的和意义 1. 了解如何利用C语言和图形函数进行绘图; 2. 熟悉并掌握C语言的图形模式控制函数,图形屏幕操作函数,以及基本图形函数; 3. 通过对Turbo C进行图形程序设计的基本方法的学习,能绘制出简单的图形; 4. 通过绘制N+1个正n边形,了解图形系统初始化、图形系统关闭和图形模式的控制,并熟练运用图形坐标的设置,包括定点、读取光标、读取x和y轴的最大值以及图形颜色的设置。 1.3程序制作步骤(包括算法思想、算法流程图等) 算法思想: 1.自动搜索显示器类型和显示模式,初始化图形系统,通过printf、scanf语句控制半径r、边数n、多边形的个数k、边的每次旋转角度d,的自由输入; 2.给定一内接圆半径r,由圆内接多边形的算法公式: x[i]=r*cos((i+1) *2.0*pi/n)+320.0 y[i]=240.0-r*sin(2.0*pi/n *(i+1)) 确定出多边形N的各个顶点坐标,然后利用划线函数line(),连接相邻两点,即形成一个正多边形。 3.根据边与角的关系,以及线段定比分点公式,可知旋转后的多边形的各个顶点的坐标。公式如下: x[i]=(x[i]+x[i+1]/(k+1)) y [i]=(y[i]+y[i+1]/(k+1)) k=360/(n*d) (n为多边形的边数,d为多边形旋转的度数) 然后与第二步相同,利用划线函数line(),连接形成又一个旋转过的正多边形,这样就形成了所要绘制的图形; 4.关闭图形系统。 1.4主程序 程序代码: /*----- 多边形的逐次旋转------*/ #include "stdio.h" #include "conio.h" #include "math.h"

c语言之打印图形

字符图形 例1:*号图形(打印行数n由键盘输入) 分析(2)号图形: 从第1行打印到第n行,打印第i行时(i从1~n),首先打印n-i 个空格;接着打印i个*号;换行; 分析:(6)号图形: 打印第i行(i 从1~n)时,首先打印i-1个空格;接着打印2(n-i)+1个*号;换行; #include "stdio.h" void main(){ /*打印(2)号图形*/ int n,i,j; printf("Input n="); scanf("%d",&n); for (i = 1;i <= n;i++) { for (j = 1;j <= n-i;j++) putchar(' '); for (j=1;j<=i;j++) putchar('*'); printf("\n"); } } 例2:打印如下数字方阵(打印行数n可输入) 1 2 3 4 5 2 2 3 4 5 3 3 3 4 5 4 4 4 4 5 5 5 5 5 5 (1) 特点:每行主对角线之前打印行号,主对角线之后打印列号 #include "stdio.h" void main(){ int i,j,n; printf("Input n ="); scanf("%d",&n); for (i = 1;i <= n;i++) { for (j = 1;j <= i;j++) printf("%4d",i);

for (j = i + 1;j <= n;j++) printf("%4d",j); printf("\n"); } } 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 (2) 特点:每行主对角线之前从行号打到n;主对角线之后从1打到行号-1 #include "stdio.h" void main(){ int i,j,n; printf("Input n="); scanf("%d",&n); for(i = 1;i <= n;i++) { for(j = i;j <= n;j++) printf("%4d",j); for(j = 1;j <= i-1;j++) printf("%4d",j); printf("\n"); } } 思考:图形位置向屏幕左边移动m列,以及图形位置放在屏幕中央该怎么办?例3:打印n阶杨辉三角形(n由键盘输入) 分析:杨辉三角形的第i行(i从0~n)是i次二项式(x+y)i 的展开系数 递推法计算组合数

c语言画直线代码

#include #include #include void Initialize(void) { int GraphDriver; int GraphMode; int ErrorCode; GraphDriver=DETECT; initgraph (&GraphDriver,&GraphMode,""); ErrorCode=graphresult(); if (ErrorCode!=grOk) { printf("Graphics System Error:%s\n",grapherrormsg(ErrorCode)); exit(1); } } void Bresenham(int x1,int y1,int x2,int y2) { int x,x0,interchange; int y,y0,temp; int s1,s2,i; float e; int c=14; x=x1; y=y1; x0=abs(x2-x1); y0=abs(y2-y1); if ((x2-x1)>0) s1=1; else s1=-1; if ((y2-y1)>0) s2=1; else s2=-1; if (y0>x0) { temp=x0; x0=y0; y0=temp; interchange=1; } else interchange=0; e=2*(y0-x0); for (i=0;i<=x0;i++)

{ putpixel (x,y,c); while (e>=0) { if (interchange==1) x=x+s1; else y=y+s2; e=e-2*x0; } if(interchange==1) y=y+s2; else x=x+s1; e=e+2*y0; } } int main() { int x1,x2,y1,y2; Initialize(); scanf("%d,%d,%d,%d",&x1,&y1,&x2,&y2); Bresenham(x1,y1,x2,y2); return 0; }

c语言编程打印基本图形

#include main() { int i,j,k,a=1; for(i=1;i<=6;i++) { for(j=1;j<=10;j++) { printf("%c",'A'); } printf("\n"); } printf("\n"); for(i=1;i<=6;i++) { for(k=1;k1;k--) printf(" "); for(j=1;j<=10;j++) { printf("%c",'A'); } printf("\n"); } printf("\n"); for(i=1;i<=6;i++) { for(j=1;j<=2*i-1;j++) { printf("%c",'A'); } printf("\n"); } printf("\n");

for(i=6;i>=1;i--) { for(j=1;j<=2*i-1;j++) { printf("%c",'A'); } printf("\n"); } printf("\n"); for(i=1;i<=6;i++) { for(k=10-i;k>1;k--) printf(" "); for(j=1;j<=2*i-1;j++) { printf("%c",'A'); } printf("\n"); } printf("\n"); for(i=6;i>=1;i--) { for(k=10-i;k>1;k--) printf(" "); for(j=1;j<=2*i-1;j++) { printf("%c",'A'); } printf("\n"); } printf("\n"); for(i=1;i<=6;i++) { for(k=1;k<10-i;k++) printf(" "); for(j=1;j<=2*i-1;j++) { printf("%d",a); } a++; printf("\n"); } printf("\n"); for(i=6;i>=1;i--)

C语言图形输出习题

【4.4】输入n值,输出如图所示矩形。 【4.5】输入n值,输出如图所示平行四边形。 【4.6】输入n值,输出如图所示高为n的等腰三角形。 【4.7】输入n值,输出如图所示高为n的等腰三角形。 【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。

【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。 【4.10】输入n值,输出如图所示边长为n的空心正六边型。 【4.11】输入n值,输出如图所示图形。 【4.12】输入n值,输出如图所示图形。 【4.13】输入n值,输出如图所示图形。

【4.14】输入n值,输出如图所示图形。 【4.15】输入n值,输出如图所示图形。 【4.16】输入n值,输出如图所示图形。(例为n=6时) 【4.17】编写程序,输出如图所示sin(x) 函数0到2π的图形。

【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。 【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。若屏幕的横向为x轴,纵向为y轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。其中cos图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用f(y)图形的符号。

【4.20】编写程序,输出如图所示高度为n的图形。 【4.21】编写程序,输出如图所示高度为n的图形。 【4.22】输入n值,输出如图所示图形。

【4.23】输入n值,输出如图所示的n×n(n<10)阶螺旋方阵。 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 图4.19 n=5时的螺旋方阵 【4.24】输入n值,输出如图所示回型方阵。 【4.25】输出如图所示的数字金字塔

C语言-三维图形变换

#include #include #include #include #include #define rad 0.0174532925 #define NUMBER 24 float u[NUMBER]={60.,20.,20.,80.,80.,60.,60.,0.,0.,60.,80.,0.,0.,0.,0.,0.,20.,20.,0.,0.,0.,80.,0.,0.}, v[NUMBER]={20.,60.,60.,0.,0.,20.,20.,20.,20.,20.,0.,0.,20.,20.,60.,60.,60.,60.,60.,60.,0.,0.,0.,0.}, w[NUMBER]={30.,30.,0.,0.,90.,90.,30.,30.,90.,90.,90.,90.,90.,30.,30.,0.,0.,30.,30.,0.,0.,0.,0.,90.}; int ipen[NUMBER]={3,2,2,2,2,2,2,2,2,2,3,2,2,3,2,2,2,3,2,3,2,2,3,2}; int kind[NUMBER]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1}; void draw(float sf,float xc,float yc,float tranm[][4]); void axono2d(float sf,float ox,float oy,float bta,float afa,float x[],float y[],float z[],int kp[],int kl[],int mp); void plot(float x,float y,int ip,int lk); void initm(float unitm[][4]); void mult4x4(float ma[][4],float mb[][4],float mc[][4]); void transform(float x0,float y0,float z0,float *x,float *y,float *z,float tranm[][4]); void translation(float l,float m,float n,float tranm[][4]); void scaling(float sx,float sy,float sz,float tranm[][4]); void rotationx(float xc,float yc,float zc,float alta,float tranm[][4]); void rotationy(float xc,float yc,float zc,float beta,float tranm[][4]); void rotationz(float xc,float yc,float zc,float gama,float tranm[][4]); void projectx(float i,float m,float n,float tranm[][4]); void projecty(float i,float m,float n,float tranm[][4]); void projectz(float i,float m,float n,float tranm[][4]); void mirrxoy(float l,float m,float n,float tranm[][4]); void mirrxoz(float l,float m,float n,float tranm[][4]); void mirryoz(float l,float m,float n,float tranm[][4]); void shearing(float a,float b,float c,float d,float e,float f,float tranm[][4]); main() { int j,m=NUMBER; int gd=DETECT,gm; float tm[4][4]={0.}; initgraph(&gd,&gm,"d:\\tc"); settextstyle(3,0,2); outtextxy(170,4,"3D GRAPFICS TRANSFORMA TION"); setwritemode(1);

用C语言输出各种图形

用C语言输出各种图形 The Standardization Office was revised on the afternoon of December 13, 2020

输出各种图形 一、软件开发目的 利用C程序输出各种图形 二、数据结构 采用数组、函数 三、软件功能说明 四、软件验收标准 1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。 注意:要求每执行一个具体的功能之后,程序将重新显示菜单。 2.有严密正确的数据验证功能和数据处理功能,能够实现各功能模块。3.系统要有一定的可靠性、稳定性。

五、实现代码 1 #include <> 2 #include <> 3 #include <> 4 #define N 100 5 char Number[N][N]; 6 xt"); 36 fp=fopen(name,C); 37 38 if(fp==NULL) 39 { 40 return -1; 41 } 42 43 for(i=0;i

C语言打印图形

1-1. 编程,输入n,输出如下例(n=5)所示的图形: ***** ***** ***** ***** ***** ———— main() {int i,j,n; s canf("%d",&n); f or(i=1;i<=n;i++) {for(j=1;j<=n-i;j++)printf(" "); for(j=1;j<=n;j++)printf("*"); printf("\n");}} 1-2. 编程,输入n,输出如下例(n=5)所示的图形: ***** ***** ***** ***** ***** ———— main() {int i,j,n; s canf("%d",&n); f or(i=1;i<=n;i++) {for(j=1;j<=i-1;j++)printf(" "); for(j=1;j<=n;j++)printf("*"); printf("\n");}} 1-3. 编程,输入n值,输出如下例(n=4)所示的图形: * *** ***** ******* ———— main() {int i,j,n; s canf("%d",&n); f or(i=1;i<=n;i++)

{for(j=1;j<=n-i;j++)printf(" "); for(j=1;j<=2*i-1;j++)printf("*"); printf("\n");}} 1-4. 编程,输入n值,输出如下例(n=4)所示的图形: ******* ***** *** * ———— main() {int i,j,n; s canf("%d",&n); f or(i=1;i<=n;i++) {for(j=1;j<=i-1;j++)printf(" "); for(j=1;j<=2*(n-i)+1;j++)printf("*"); printf("\n");}} 1-5. 编程,输入n值,输出如下例(n=4)所示的高和上底均为n的等腰梯形: **** ****** ******** ********** ———— main() {int i,j,n; s canf("%d",&n); f or(i=1;i<=n;i++) {for(j=1;j<=n-i;j++)printf(" "); for(j=1;j<=2*i-2+n;j++)printf("*"); printf("\n");}} 1-6. 编程,输入n值,输出如下例(n=4)所示的高和下底均为n的等腰梯形: ********** ******** ****** **** ———— main() {int i,j,n; p rintf("\nInput n="); s canf("%d",&n);

C语言图形输出习题

C语言图形输出习题 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】

【4.4】输入n值,输出如图所示矩形。 【4.5】输入n值,输出如图所示平行四边形。 【4.6】输入n值,输出如图所示高为n的等腰三角形。 【4.7】输入n值,输出如图所示高为n的等腰三角形。 【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。 【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。 【4.10】输入n值,输出如图所示边长为n的空心正六边型。 【4.11】输入n值,输出如图所示图形。 【4.12】输入n值,输出如图所示图形。 【4.13】输入n值,输出如图所示图形。 【4.14】输入n值,输出如图所示图形。 【4.15】输入n值,输出如图所示图形。 【4.16】输入n值,输出如图所示图形。(例为n=6时) 【4.17】编写程序,输出如图所示sin(x)函数0到2π的图形。【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。

【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。若屏幕的横向为x 轴,纵向为y轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。其中cos图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用f(y)图形的符号。 【4.20】编写程序,输出如图所示高度为n的图形。 【4.21】编写程序,输出如图所示高度为n的图形。 【4.22】输入n值,输出如图所示图形。 【4.23】输入n值,输出如图所示的n×n(n<10)阶螺旋方阵。 12345 161718196 152425207 142322218 131211109 图4.19n=5时的螺旋方阵 【4.24】输入n值,输出如图所示回型方阵。 【4.25】输出如图所示的数字金字塔 【4.26】输入n值,输出如图所示图形。 【4.27】输入顶行字符和图形的高,输出如图所示图形。 【4.28】输入首字符和高后,输出如图所示回型方阵。 AAAAA

《计算机图形学》课程实验指导(1)全解

《计算机图形学》课程实验指导 一.实验总体方案 1.教学目标与基本要求 (1)掌握教材所介绍的图形算法的原理; (2)掌握通过具体的平台实现图形算法的方法,培养相应能力; (3)通过实验培养具有开发一个基本图形软件包的能力。 2. 实验平台与考核 实验主要结合OpenGL设计程序实现各种课堂教学中讲过的图形算法为主。程序设计语言主要以C/C++语言为主,开发平台为Visual C++。 每次实验前完成实验报告的实验目的、实验内容、实验原理、实验代码四部分并接受抽查,实验完成后完成实验结果、实验体会两部分,本次实验课结束前提交。 3. 实验步骤 (1) 预习教材与实验指导相关的算法理论及原理; (2) 仿照教材与实验指导提供的算法,利用VC+OpenGL进行实现; (3) 调试、编译、运行程序,运行通过后,可考虑对程序进行修改或改进。 二. 实验具体方案 实验预备知识 OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。 1)与C语言紧密结合: OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL 作图甚至比TC更加简单; 2)强大的可移植性: 微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统。而OpenGL 不仅用于 Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL 的基本命令都做到了硬件无关,甚至是平台无关; 3) 高性能的图形渲染: OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先。 总之,OpenGL是一个非常优秀的图形软件接口。OpenGL官方网站(英文)https://www.360docs.net/doc/cd17901492.html, 下面将对Windows下的OpenGL编程进行简单介绍。如下是学习OpenGL前的准备工作:1.选择一个编译环境 现在Windows系统的主流编译环境有Visual C++,C++ Builder,Dev-C++等,它们都是支持OpenGL的。但这里我们选择Visual C++ 作为学习OpenGL的实验环境。 2.安装GLUT工具包 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。Windows环境下的GLUT下载地址:(大小约为150k) https://www.360docs.net/doc/cd17901492.html,/resources/libraries/glut/glutdlls37beta.zip Windows环境下安装GLUT的步骤: 1)将下载的压缩包解开,将得到5个文件 2)在“我的电脑”中搜索“gl.h”,并找到其所在文件夹(如果是VisualStudio2005,则

C语言典型例题——关于图形输出

在C语言学习中我们会遇到各种输出图形的题目,下面我们就来看一些这种题目。 一、编写程序输出下图所示的图形。 (1)(2)(3)(11) 下面我们分别以i、j、k分别表示行数,空格数,星号数。 (1)i j k (2) i j k (3) i j k 1 0 1 1 6 1 1 0 9 2 0 2 2 5 2 2 1 7 3 0 3 3 4 3 3 2 5 4 0 4 4 3 4 4 3 3 5 0 5 5 2 5 5 4 1 6 0 6 6 1 6 j<=i-1 7 0 7 7 0 7 k<=11-2*i K<=i j<=7-i K<=i 发现行数、空格、星号有如上关系,用for循环便可实现。

(1) #include"stdio.h" void main() {int i,j; for(i=1;i<=7;i++) {for(j=1;j<=i;j++) printf("*"); printf("\n"); } } (2) #include"stdio.h" void main() {int i,j,k; for(i=1;i<=7;i++) {for(j=1;j<=7-i;j++) printf(" "); for(k=1;k<=i;k++) printf("*"); printf("\n"); } } (3) #include"stdio.h" void main()

{int i,j,k; for(i=1;i<=6;i++) {for(j=1;j<=i-1;j++) printf(" "); for(k=1;k<=11-2*i;k++) printf("*"); printf("\n"); } } 然后我们在进行扩展。编写程序输出如下图型。 (4)(5)(6)所编程序如下: (4) #include"stdio.h" void main() {int i,j,k; for(i=1;i<=7;i++) {for(j=1;j<=8-i;j++) printf("*"); printf("\n");

C语言图形输出习题解析

【】输入n值,输出如图所示矩形。 【】输入n值,输出如图所示平行四边形。 【】输入n值,输出如图所示高为n的等腰三角形。 【】输入n值,输出如图所示高为n的等腰三角形。 ? 【】输入n值,输出如图所示高和上底均为n的等腰梯形。

【】输入n值,输出如图所示高和上底均为n的等腰空心梯形。 【】输入n值,输出如图所示边长为n的空心正六边型。 【】输入n值,输出如图所示图形。 《 【】输入n值,输出如图所示图形。

【】输入n值,输出如图所示图形。 【】输入n值,输出如图所示图形。 【】输入n值,输出如图所示图形。 # 【】输入n值,输出如图所示图形。(例为n=6时) 【】编写程序,输出如图所示sin(x) 函数0到2π的图形。

【】编写程序,在屏幕上输出一个由*号围成的空心圆。 【】编写程序,在屏幕上绘制如图余弦曲线和直线。若屏幕的横向为x轴,纵向为y轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。其中cos图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用f(y)图形的符号。

, 【】编写程序,输出如图所示高度为n的图形。 【】编写程序,输出如图所示高度为n的图形。 【】输入n值,输出如图所示图形。

{ 【】输入n值,输出如图所示的n×n(n<10)阶螺旋方阵。 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 图 n=5时的螺旋方阵 【】输入n值,输出如图所示回型方阵。 【】输出如图所示的数字金字塔

用C语言输出各种图形

输出各种图形 一、软件开发目的 利用C程序输出各种图形 二、数据结构 采用数组、函数 三、软件功能说明 四、软件验收标准 1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。 注意:要求每执行一个具体的功能之后,程序将重新显示菜单。 2.有严密正确的数据验证功能和数据处理功能,能够实现各功能模块。 3.系统要有一定的可靠性、稳定性。 五、实现代码 1 #include 2 #include 3 #include

4 #define N 100 5 char Number[N][N]; 6 //录入输出图形函数 7 void Scanf_print(int k) 8 { 9 int i; 10 char num[N]; 11 for(i=0;i

C语言写椭圆

计算机图形学 用C语言画图(直线,画圆,椭圆的生成算法) 09级地信班兰军12009244560 #include "graphics.h" #include "conio.h" #include "dos.h" #include "math.h" #include "stdio.h" /* 直线中点算法*/ void midpointline(int x0,int y0,int x1,int y1,int color ) { int x,y; int a,b,c,d,d1,d2; a=(y0-y1); b=(x1-x0); d=a+a+b; d1=a+a; d2=a+b+a+b; x=x0;y=y0; putpixel(x,y,color); while(xabs(y2-y1)) length=abs(x2-x1); else length=abs(y2-y1); increx=(x2-x1)/length; increy=(y2-y1)/length;

y=y1; for(i=1;i<=length;i++) { xx=x+0.5; yy=y+0.5; putpixel((int)xx,(int)yy,color); x=x+increx; y=y+increy; } } /* 椭圆中点算法*/ void MidBresenhamllipse(double a,double b,int color) { double x,y, d1,d2; x=0;y=b; d1=b*b+a*a*(-b+0.25); putpixel(x+300,y+200,color); putpixel(-x+300,-y+200,color); putpixel(-x+300,y+200,color); putpixel(x+300,-y+200,color); while(b*b*(x+1)0)

C语言图形的填充函数

C语言图形的填充函数 一、先画轮廓再填充 TURBO C提供了一些先画出基本图形轮廓, 再按规定图模和颜色填充整个 封闭图形的函数。在没有改变填充方式时, TURBO C以默认方式填充。下面介 绍这些函数。 void bar(int x1, int y1, int x2, int y2); 确定一个以(x1, y1)为左上角, (x2, y2)为右下角的矩形窗口, 再按规定图模和颜色填充。 说明: 此函数不画出边框, 所以填充色为边框。 void bar3d(int x1,int y1,int x2,int y2,int depth,int topflag); 当topflag为非0时, 画出一个三维的长方体。当topflag为0时, 三维图形不封顶, 实际上很少这样使用。 说明: bar3d()函数中, 长方体第三维的方向不随任何参数而变, 即始终 为45度的方向。 void pieslice(int x,int y,int stangle,int endangle,int radius); 画一个以(x, y)为圆心, radius为半径, stangle为起始角度, endangle 为终止角度的扇形, 再按规定方式填充。当stangle=0, endangle=360 时变成一 个实心圆, 并在圆内从圆点沿X轴正向画一条半径。 void sector(int x, int y, int stanle, intendangle, int xradius, int yradius); 画一个以(x, y)为圆心分别以xradius, yradius为x轴和y轴半 径, stangle为起始角, endangle为终止角的椭圆扇形, 再按规定方式填充。 二、设定填充方式 TURBO C有四个与填充方式有关的函数。下面分别介绍: void setfillstyle(int pattern, int color); color的值是当前屏幕图形模式时颜色的有效值。pattern的值及与其等价的 符号常数如表7所示。 表7. 关于填充式样pattern的规定 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号常数数值含义 ─────────────────────────── EMPTY_FILL 0 以背景颜色填充 SOLID_FILL 1 以实填充 LINE_FILL 2 以直线填充 LTSLASH_FILL 3 以斜线填充(阴影线)

相关文档
最新文档