当前位置:文档之家› c语言打印图形题

c语言打印图形题

c语言打印图形题
c语言打印图形题

测试输入期待的输出

2-3. 打印X形图形

成绩: 10 / 折扣: 0.8

测试输入期待的输出测试输入期待的输出测试输入期待的输出测试输入期待的输出

测试输入期待的输出测试输入期待的输出测试输入期待的输出

6-2. 求整数平方的回文数

成绩: 10 / 折扣: 0.8

输入正整数m 和n ,输出[m, n] 闭区间中满足下列条件的正整数及其平方:正整数的平方具有对称性质(也称为回文数), 如:11 的平方是121 。若该区间不存在这样的正整数,则输出:No output

输入:m,n

输出:满足条件的正整数及其平方

测试输入

测试输入期待的输出

测试输入期待的输出

测试输入期待的输出

制制程测试输入期待的输出

测试输入期待的输出

制制

测试输入期待的输出

用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语言图形输出习题

C语言图形输出习题 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

【】输入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)阶螺旋方阵。 12345 6 7 8 9 图=5时的螺旋方阵 【】输入n值,输出如图所示回型方阵。

【】输出如图所示的数字金字塔 【】输入n值,输出如图所示图形。 【】输入顶行字符和图形的高,输出如图所示图形。 【】输入首字符和高后,输出如图所示回型方阵。 AAAAA ABBBA ABCBA ABBBA AAAAA 图首字符为'A'、高为5的方阵 【】输入中心字符和高后,输出如图所示回型方阵。XXXXX XYYYX XYZYX XYYYY XXXXX 图中心字符为'Z'、高为5的方阵 【】编写程序,输出如图所示上三角形式的乘法九九表。【】编写程序,输出如图所示下三角乘法九九表。 【】分析:打印此图形用两重循环实现。

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语言编程练习题绝对经典!

马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人 解方程组 编写程序,采用穷举法求出结果。 编写程序,根据以下公式求e 的值。要求用两种方法计算: 1) for 循环,计算前50项 2)while 循环,直至最后一项的值小于10-4 从键盘中输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数。 猴子吃桃子问题。猴子第一天摘下若干个桃,当即只一半,又多吃一个。第二天早上又将剩下的一半吃掉一半,双多吃一个。以后每天早上都吃了前天剩下的一半零一个,到第10天早上 只剩下最后一个桃。问第一天摘了几个桃。 编程打印九九乘法表 青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分(去掉一个最高分和一个最低分)。 从键盘中输入一个数字(可以包含小数点,其位数在60位以下,求其整数的有效位数,如输入,返回值为整数有效位数为3) 1) 输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能。 2) 使用数组来进行编程。 使用数组,编写一个十进制正整数转换为任意进制数的转换工具。 (大进制向小进制的转换。(方法是相除去余) 10进制327转八进制: 327/8 = 40 余数为7 40/8 = 5 余数为0 于是八进制数为507(第一位5是最后的商)) 使用数组,编写一个任意进制正整数转换为十进制的转换工具。(以2,10进制互转为例,其他请举一反三: 二进制数1101转十进制: 1×2的三次幂+1×2的二次幂+0×2的一次幂+1×2的零次幂=8+4+0+1=13) 10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6,14,20。然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为 奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块。 11111111!2!3!4!5!!e n ≈++++++??????+

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语言100个经典题目

C语言程序设计习题 授课对象:信息奥赛辅导成员 授课时间: 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? __________________________________________________________________ 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…. ___________________________________________________________________ 程序源代码: main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf(“%12ld %12ld”,f1,f2); if(i%2==0) printf(“\n”);/*控制输出,每行四个*/ f1=f1+f2;/*前两个月加起来赋值给第三个月*/ f2=f1+f2;/*前两个月加起来赋值给第三个月*/ } } 上题还可用一维数组处理,you try! 题目:判断101-200之间有多少个素数,并输出所有素数。 __________________________________________________________________ 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 ___________________________________________________________________ 程序源代码: #include “math.h” main() { int m,i,k,h=0,leap=1;

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语言图形输出习题 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

用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语言典型例题——关于图形输出

在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语言打印图形

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语言经典编程练习题和答案详解入门必备

【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: #include “stdio.h” #include “conio.h” main() { inti,j,k; printf(“\n”); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k 三位互不相同*/ printf(“%d,%d,%d\n”,i,j,k); } getch(); } 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: #include “stdio.h” #include “conio.h” main() { longinti; int bonus1,bonus2,bonus4,bonus6,bonus10, bonus; sc anf(“%ld”,&i); bonus1=100000*0. 1; bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03; else if(i<=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01;

《计算机图形学》课程实验指导(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.doczj.com/doc/656645990.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.doczj.com/doc/656645990.html,/resources/libraries/glut/glutdlls37beta.zip Windows环境下安装GLUT的步骤: 1)将下载的压缩包解开,将得到5个文件 2)在“我的电脑”中搜索“gl.h”,并找到其所在文件夹(如果是VisualStudio2005,则

相关主题
文本预览
相关文档 最新文档