c语言之打印图形

合集下载

玫瑰花c语言程序

玫瑰花c语言程序

编写一个简单的C语言程序来打印玫瑰花图案可能有点复杂,因为玫瑰花图案通常需要使用一些图形库或特殊的字符来实现。

在文本控制台中,要绘制复杂的图案可能需要使用特殊的库,如ncurses。

以下是一个简单的示例,使用基本的ASCII字符来近似表示玫瑰花:
```c
#include <stdio.h>
int main() {
printf(" @@@@\n");
printf(" @@@@@@\n");
printf("@@@@@@@@\n");
printf(" |||\n");
printf(" |||\n");
printf(" |||\n");
return 0;
}
```
这只是一个非常简单的表示,因为在文本控制台中要绘制出逼真的玫瑰花图案是相当困难的。

如果您想要更复杂和逼真的图案,您可能需要考虑使用图形库,如OpenGL或SDL,或者在图形环境中运行的其他工具和语言。

请注意,使用特殊字符来绘制艺术图案在纯文本环境中有其限制,而在图形环境中可以更容易地实现。

用C语言输出各种图形

用C语言输出各种图形

输出各种图形一、软件开发目得利用C程序输出各种图形二、数据结构采用数组、函数三、软件功能说明四、软件验收标准1。

有较为美观简洁大方得菜单,能保证用户方便、直观、快捷得熟悉并使用软件得各项功能。

注意:要求每执行一个具体得功能之后,程序将重新显示菜单。

2.有严密正确得数据验证功能与数据处理功能,能够实现各功能模块。

3。

系统要有一定得可靠性、稳定性.五、实现代码1#include<stdio、h>2 #include <stdlib、h>3#include 〈string、h>4#define N 1005char 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 }17else18{19 printf(”%s",Number[i]);20 //printf(”\n");21}22if(strlen(Number[i])==0)23 break;24}2526 }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);3738 if(fp==NULL)39 {40return—1;41 }4243for(i=0;i<N;i++)44 {4546if(c=='w’)47{48 if(strlen(Number[i])==0)49 break;50 fputs(Number[i],fp);51 fputc('\n',fp);52 }53 else if(c==’r')54 {55 fgets(Number[i],N,fp);56 }57 }58 fclose(fp);59return0;60}61int Filep(char*name,int k)62{63 FILE *fp=NULL;64inti;65charR[N];66 fp=fopen("name、txt”,”a+”);67if(fp==NULL)68{69 return-1;70}71if(k==0)72{73fputs(name,fp);74 fputs("”,fp);75 }76else77{7879 fgets(R,N,fp);80 printf(”%s\n”,R);8182 }83 fclose(fp);84return 0;85}86 void Interface()87 {88 printf("******************** 主菜单******************************\n");89 printf(”程序说明:\n");90 printf(”1,请用户先录入图形,再点击保存 \n");91 printf("2,若录入后没有点击保存,又进行录入,第一次录入得将被覆盖\n”);92 printf("**********************************************************\n");93 printf(”********************1、录入图形*********************\n");94 printf(”********************2、保存图形*********************\n");95printf("********************3、查瞧图形*********************\n");96 printf("******************** 4、退出*********************\n");97 printf("**********************************************************\n”);98 }99 int main()100{101102 int t=1,n,k,i;103char Name[20];104 while(t)105 {106 system(”cls”);107Interface();108 printf("请从1~4中选择、、、\n");109 scanf("%d",&n);110 system("cls”);111switch(n)112{113 case1:114 Scanf_print(1);115 printf("请设计图形(若一行都无元素,回车后设计完成)!\n\n");116 Scanf_print(1);117printf(”\n\n录入成功、、、");118system(”pause");119break;120case 2:121 printf("请为这个图形取一个名字:");122scanf("%s",&Name);123Filep(Name,0);//存入名字124 Files(Name,’w');125printf("\n\n 保存成功!\n\n\n”);126system(”pause");127break;128case3:129 for(i=1;i<N;i++)130 {131 strcpy(Number[i]," ”);132 }133 printf(”***********文件已存图形得名称****************\n\n\n”);134 Filep('no',1);135 printf("\n\n\n*********************************************\n\n\n”);136printf("请输入查瞧图形得名字:”);137scanf("%s”,&Name);138k=Files(Name,'r’);139 if(k==0)140{141printf("\n");142 Scanf_print(0);143 printf("\n");144 }145 else146 printf("\n\n 输入得名字未找到,请输入以上框中有得名字、、、\n\n");147 system("pause");148 break;149case4:t=0;break;150default:151 printf("输入非法字符,请输入1,2,3,4四个整数之一!");152 system(”pause");break;153 }154 }155 system("cls”);156 printf("感谢您得使用,再见!\n\n");157return0;158}六、运行说明1、点击运行后得界面2、输入1并回车后3、设计一个三角形,设计完成后回车即显示设计完成4、回车后回到主界面5、输入2回车之后,为这个图形取名为“三角形",重复以上操作, 我又分别录入了名字为心、心中心、心线等图形6、完成后回车回到主界面,输入3回车之后,会提示已录入得所有图形名称,回复名称之后回车即可查瞧图形7、返回主界面后,若输入4回车8、若在主界面输入除1,2,3,4以外得字符,会出现以下提示。

c语言用循环输出空心矩形

c语言用循环输出空心矩形

c语言用循环输出空心矩形在C语言中,我们可以使用循环语句来输出各种图形,其中包括空心矩形。

空心矩形是指由一些边框组成的矩形,中间部分为空白,没有填充物。

下面我们就来详细介绍如何使用循环语句输出空心矩形。

我们需要了解空心矩形的特点。

空心矩形的边框由四条直线组成,分别是上边框、下边框、左边框和右边框。

我们可以使用循环语句逐行输出这四条边框。

下面是一个示例代码,用于输出一个5行7列的空心矩形:```#include <stdio.h>int main() {int rows = 5; // 矩形的行数int cols = 7; // 矩形的列数for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {if (i == 0 || i == rows - 1 || j == 0 || j == cols - 1) {printf("*");} else {printf(" ");}}printf("\n");}return 0;}```在上述代码中,我们使用了两个嵌套的循环语句。

外层循环控制行数,内层循环控制列数。

通过判断当前的行数和列数,我们可以确定是否需要输出边框的星号字符。

在内层循环中,我们使用了条件判断语句。

当行数为0或者为最后一行,或者列数为0或者为最后一列时,我们输出星号字符。

否则,我们输出空格字符。

通过逐行逐列的输出字符,我们最终可以得到一个空心矩形。

根据需要,你可以修改`rows`和`cols`的值来改变矩形的大小。

除了这种简单的空心矩形,我们还可以通过嵌套循环和条件判断语句来输出更加复杂的图形。

例如,我们可以通过增加条件判断语句的条件,来输出带有空心内部的矩形,或者其他形状的图案。

总结起来,循环语句是在C语言中输出各种图形的常用方法之一。

打印螺旋方阵c语言

打印螺旋方阵c语言

打印螺旋方阵c语言打印一个螺旋方阵,是C语言中常见的一个面试题,在处理图像处理时也常常用到。

实现这个算法需要注意一些细节,下面我来为大家解释一下如何写出一个高质量的螺旋方阵。

首先,让我们来了解一下什么是螺旋方阵。

螺旋方阵是由自然数在方格中依次填充而成的一种矩阵,通常被用于数学问题的研究,例如,数学家Euler在研究算数平方和时曾提到螺旋方阵。

那么,如何实现螺旋方阵呢?在C语言中,我们可以使用二维数组和一个循环来实现(以下代码仅为参考):```c#include<stdio.h>void printMatrix(int n){int i,j,nCount=0;int aMatrix[100][100]={0};for (i=0;nCount<n*n;i++){for (j=i;j<n-i;j++) //填充上行aMatrix[i][j]=++nCount;for (j=i+1;j<n-i;j++) //填充右列aMatrix[j][n-i-1]=++nCount;for (j=n-i-2;j>=i;j--) //填充下行aMatrix[n-i-1][j]=++nCount;for (j=n-i-2;j>i;j--) //填充左列aMatrix[j][i]=++nCount;}for (i=0;i<n;i++) //输出二维数组 {for (j=0;j<n;j++)printf("%4d ",aMatrix[i][j]);printf("\n");}}int main(){int n;printf("请输入矩阵的大小(1~100):\n");scanf("%d",&n);printMatrix(n);return 0;}```下面我们来逐行解释一下上面的代码:1. 定义函数printMatrix,函数传入参数n表示矩阵的大小。

第二讲 用printf()打印简单字符图案

第二讲   用printf()打印简单字符图案
分析
#include <stdio.h>
void main( )
{
printf(“* * * * * * * *\n”);
printf(“*
*\n”); /*2个*号中间有6个空格*/
printf(“*
*\n”); /* 同上 */
printf("* * * * * * * *\n");
}
上面这个平面图形是非常 简单的,特别是中间两行左右 两个字符 ” “ 相隔很近, 中间的空格只有6个。
000000
0
0
0
0
0
0
0Hale Waihona Puke 000000000
88
88
8888888888
8
88
8
8888888888
88
88
88
作业练习
A
AA
AA
AA
AAAAAA
A
A
A
A
A
A
作业
大部分构成,一是编译预处理命令,应该写在程序的
最前面;
二是函数,可能有多个,但只能有一个主函数。
回顾
函数由函数名所在的行以及用一对大括号括起的函数
体组成。
模仿练习
Printf函数
• 现在请同学们模仿上例,在纸上写一个向屏幕 输出文字:“C语言其实很简单!!!”的程 序。
开始 新课程
#include <stdio.h> main( )
在程序中的printf语句里面的字符串末尾都有一个\n (反斜杠和n)。
这种用反斜杠开头后跟一个或多个字符组成的复合字符, 在C语言中称为转义字符(即在一些普通字符前加一个反斜 杠,使普通字符的含意转变了)。

一个打印菱形图案的C语言程序

一个打印菱形图案的C语言程序

一个打印菱形图案的C语言程序1.空心l菱形/*fileType: .cfileNmae: diamond 空心菱形author: xiaobingdate:2012年11月08日21点*/#include <stdio.h>int main(void){int i,j,k;//上半空心菱形for(i=1;i<=10;i++){ //控制行数10行for(k=10;k>i;k--){ //第一行9空格1* i=2 8空格2*printf(" ");}//当i=1时由第25行代码输出*if(i == 1){}else{printf(" *");}//空心空格个数打印0 2 4 6 16个for(j=1;j<2*i-2;j++){printf(" ");}printf(" *");printf("\n");}//下空心菱形for(i=1;i<=9;i++){ //去掉最长行只有9行//空格增多1 2 3 (9)for(k=1;k<=i;k++){printf(" ");}//最后一行*号由代码43行执行if(i == 9){}else{printf(" *");}//空心空格个数打印15 13 ....1 注意空格是15开始1结束for(j=1;j<=17-2*i;j++){ //i=9时候打印0个空格printf(" ");}printf(" *"); //打印每行后出现的*printf("\n"); //换行}}2.实心菱形总结了一下://这是做简单的,不考虑任何算法,傻X#include <stdio.h>int main(){printf(" *\n ***\n *****\n*******\n *****\n ***\n *\n");}最简短的程序估计就是这个了//C版本的:#include <stdio.h>int main(){int i = 0;for (; i < 9; i ++){printf("%*s\n",((i < 5) ? (i + 5) : (13 - i)),"*********" + ((i < 5) ? (8 - 2*i) : (2*i - 8)));}return 0;}//C++版本的:#include <iostream>using namespace std;int main(){for (int i = 0; i < 9; i ++){cout << " " + ((i < 5) ? i : (8 - i))<< "*********" + ((i < 5) ? (8 - 2*i) : (2*i - 8)) << endl;}return 0;}//双重嵌套再循环#include <stdio.h>#include <math.h>void main(){int n,i,j;printf("n=");scanf("%d",&n);for(i=0;i<(n*2+1);i++){for(j=0;j<fabs(i-n);j++) printf(" ");for(j=0;j<(2*(n-fabs(i-n))+1);j++) printf("*");printf("\n");}}//再来,统一求和判断,不分上下#include<stdio.h>void main(){int i,j,n;printf("n=?\n");scanf("%d",&n);for(i=0; i<2*n+1; i++){for(j=0; j<2*n+1; j++){if( i+j>=n && i+j<=3*n && i-j>=-n && i-j<=n ) printf("*");else printf(" ");}printf("\n");}}//正负判断方法#include<stdio.h>#include<math.h>#define N 5void main(){int i,j;for(i=-N;i<=N;i++){for(j=-N;j<=N;j++){if(abs(i)+abs(j)<=N)printf("*");elseprintf(" ");}printf("\n");}getchar();}。

C语言-打印字符图形

C语言-打印字符图形

打印字符图形例1 用for循环编程画出下列图形:MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM分析:该图形一共有10行,每一行增加一个字符,所以,应循环10次,每次输出一行,其循环模式为:for( i=1;i<=10;i++){输出第i行换行}“输出第i行”是在for循环中的一个小循环。

每次执行“输出第i行”,其长度都是不一样的,但长度的变化正好与循环变量i同步,故可以依赖于i。

注意到第i行的M字符数与i的关系。

行 i M数1 1 12 2 23 3 34 4 4…10 10 10所以,可以得到“输出第i行”的循环为:for(j=1;j<=i;j++)printf(“%c”,’M’)完整的程序如下:#include <stdio.h>main(){int i,j;for(i=1;i<=10;i++){for(j=1;j<=i;j++)printf("%c",'M');printf("\n"); }}说明:对付这种字符图形,一般用两重循环,外循环遍历所有行,内循环遍历行中每个字符。

例2 输出下列图形:MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM分析:该图形一共有10行,这次要考虑每行中,先输出若干个空格,所以,其外循环为:for( i=1;i<=10;i++){输出若干个空格输出若干M换行}下面列出在第i行,其空格数,M数与i的关系为:行i 空格数 M数1 0 192 1 173 2 154 3 13…10 9 1即第i行的空格数为i-1个,M个数为21-2i。

即在第i行输出空格和输出M字符的内循环分别为:for(j=1;j<=i-1;j++)printf(“”);for(k=1;k<=21-2i;k++)printf(“%c”,’M’);合起来,构成一个完整程序如下:#include <stdio.h>main(){ int i,j,k;for(i=1;i<=10;i++){for(j=1;j<=i-1;j++)printf(" ");for(k=1;k<=21-2*i;k++)printf("%c",'M');printf("\n");}}例3 输出下列图形:AABCABCDEABCDEFGABCDEFGHIABCDEFGHIJKABCDEFGHIJKLMABCDEFGHIJKLMNOABCDEFGHIJKLMNOPQABCDEFGHIJKLMNOPQRS分析:该图形一共有10行,这次要考虑每行中,先输出若干个空格,所以,其外循环为:for( i=1;i<=10;i++){输出若干个空格输出若干字符换行}如果要输出A起头依序的n(n<27)个字母,可以为:for(ch='A';ch<'A'+n;++ch)printf("%c",ch);下面分析每一行中的空格数与字符数与第i行之间的关系着手:行i 空格数字符数1 9 12 8 33 7 54 6 7…10 0 19即第i行的空格数据为10-i个,字符数为2i-1。

C语言打印图形

C语言打印图形
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++)
{for(j=1;j<=n-i;j++)printf(" ");
******
**** 当 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);

用printf()打印简单字符图案

用printf()打印简单字符图案

大部分构成,一是编译预处理命令,应该写在程序的
最前面;
二是函数,可能有多个,但只能有一个主函数。
回顾
函数由函数名所在的行以及用一对大括号括起的函数
体组成。
模仿练习
Printf函数
• 现在请同学们模仿上例,在纸上写一个向屏幕 输出文字:“C语言其实很简单!!!”的程 序。
开始 新课程
#include <stdio.h> main( )
在程序中的printf语句里面的字符串末尾都有一个\n (反斜杠和n)。
这种用反斜杠开头后跟一个或多个字符组成的复合字符, 在C语言中称为转义字符(即在一些普通字符前加一个反斜 杠,使普通字符的含意转变了)。
\n输出后换行 \t横向跳格 转义符
\r回车
\b退格
C语言程序打印字符图案
下面我们看看如何用printf()函数,向屏幕 输出字符以及字符组成的图案。
000000
0
0
0
0
0
0
0
0
0
0
000000
88
88
8888888888
8
88
8
8888888888
88
88
88
作业练习
A
AA
AA
AA
AAAAAA
A
A
A
A
A
A
作业
{ printf("***************************************\n");
printf(“* 今天我们学习格式化输出函数!!!*\n");
printf("***************************************\n"); }

c语言星号打印矩形、三角形、菱形等图案及参考答案

c语言星号打印矩形、三角形、菱形等图案及参考答案

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*(y1)+31的迭加图形。

其中cos图形⽤"*"表⽰,f(y)⽤"+"表⽰,在两个图形的交点处则⽤f(y)图形的符号。

【4.4】分析:打印此图形⽤两重循环实现。

图形要重复n⾏,故采⽤循环结构实现循环n次,循环体内部打印⼀⾏'*'号,把上述思路表⽰为:for(i=1;i<=n;i++)打印⼀⾏'*'号;每⾏有n个'*'号,再采⽤循环结构实现n次循环,循环内部⽤格式输出语句打印⼀个'*'号,即:for(j=1;j<=n;j++)printf("*");按照上述思路,实现打印矩形。

参考答案:main()printf("\nPlease Enter n:");scanf("%d",&n);for(i=1;i<=n;i++){ for(j=1;j<=n;j++)printf("*");printf("\n");}}【4.5】分析:此图形和上题的区别在于在每⼀⾏先要打印空格,然后再打印n个'*'号,在上题第⼀层循环体内打印'*'号的循环前⾯增加⼀个循环打印空格。

c语言打印九九乘法表上三角形

c语言打印九九乘法表上三角形

C语言是一种非常常用的编程语言,能够进行各种计算和逻辑处理。

在C语言中,打印九九乘法表上三角形是一种常见的练习和编程任务。

通过这样的练习,可以锻炼学员对循环和条件语句的理解,同时提高编程能力和解决问题的能力。

1. 编写程序的基本思路在C语言中,要打印九九乘法表上三角形,需要使用嵌套的循环和条件语句。

基本的思路是,使用两个循环来遍历九九乘法表中的每一个元素,然后根据条件决定是否打印该元素。

具体来说,可以使用一个外层循环控制行数,一个内层循环控制列数,然后通过条件语句来确定是否打印该位置的元素。

2. 编写程序的具体步骤需要设置两个循环来遍历九九乘法表的每一个元素。

外层循环控制行数,内层循环控制列数。

在内层循环中,使用条件语句来判断是否打印该元素。

具体来说,可以使用if语句来判断乘积是否小于等于行数,如果是则打印乘积,否则打印空格。

在外层循环结束后,换行并继续进行下一行的打印。

3. 完整程序示例以下是一个完整的C语言程序示例,用于打印九九乘法表上三角形:#include <stdio.h>int m本人n() {int i, j;for(i=1; i<=9; i++) {for(j=1; j<=i; j++) {printf("d*d=-2d ", j, i, i*j); // 使用-2d格式控制宽度,使输出对齐}printf("\n");}return 0;}```4. 程序调试和运行结果将上述代码保存为triangle.c文件,使用gcc编译器进行编译,然后运行生成的可执行文件,即可看到打印出的九九乘法表上三角形。

运行结果如下:```2 43 6 94 8 12 165 10 15 20 256 12 18 24 30 367 14 21 28 35 42 498 16 24 32 40 48 56 649 18 27 36 45 54 63 72 81```5. 总结通过编写C语言程序打印九九乘法表上三角形的练习,我们可以加深对循环和条件语句的理解,提高编程能力和问题解决能力。

C、C++星号打印各种图形

C、C++星号打印各种图形
}
cout<<endl;
}
return 0;
}*////运行结果:
/*
请输入要组成三解形的星号的行数n(n>=2):
10
*
* *
* * *
* * * *
if(i==0||i==m-1)
{
cout<<"* ";//星号后有一个空格
}
else
if(j==0||j==m-1)
{
cout<<"* ";
}
else
cout<<" ";
}
cout<<endl;
}
return 0;
}*///运行效果:
/*请输入要打印的行列数n(n>=4):
10
* * * * * * * * * *
* *
* *
* *
* *
{
for(int j=a-i;j>=0;j--)
{
cout<<" ";//这里是两个空格
}
for(int k=0;k<2*i-1;k++)//控制每行星号的个数。
{
cout<<"* ";//星号后加了一个空格(为使打印出一图形更直观)。
}
cout<<endl;
for(int i=0;i<a;i++)//控制行数
{
for(int j=0;j<=2*i-1;j++)

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++){for(j=1;j<=n-i;j++)printf(" ");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--){for(j=1;j<=n-i;j++)printf(" ");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=");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)所示的图形:****** ** ** ****** ————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)所示的图形:** ** ********{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(){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()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("*");printf("\n");}}1-19、编程,输入n值,输出下例(n=5)所示的高为n的图形:* *** ***** ******* *************————main()int i,j,n;printf("\nInput n=");scanf("%d",&n);for(i=1;i<=n-1;i++){for(j=1;j<=i;j++)printf("*");for(j=1;j<=2*n-2*i-1;j++)printf(" ");for(j=1;j<=i;j++)printf("*");printf("\n");}for(j=1;j<=2*n-1;j++)printf("*");}1-20、编程,输入n值,输出下例(n=5)所示的高为n的图形: ************* ******* ***** *** *————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<=i;j++)printf("*");for(j=1;j<=2*n-2*i-1;j++)printf(" ");for(j=1;j<=i;j++)printf("*");printf("\n");}}1-21、编程,输入n值,输出下例(n=3)所示的图形:* ** **————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<=k-1;j++)printf(" ");printf("*");for(j=1;j<=2*n-2*k-1;j++)printf(" ");printf("%s",i==n?"\n":"*\n");}}1-22、编程,输入n值,输出下例(n=3)所示的图形: * ** ****————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=n;for(j=1;j<=k-1;j++)printf(" ");printf("*");for(j=1;j<=2*n-2*k-1;j++)printf(" ");printf("%s",k==n?"\n":"*\n");}}1-23、编程,输入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;printf("*");for(j=1;j<=n-k;j++)printf(" ");printf("%s",k==n?"\n":"*\n");}}1-24、编程,输入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;j++){if(j==1||j==i||j==n)printf("*");else printf(" ");}printf("\n");}}1-25、编程,输入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-1;j++)printf("%s",j==n-i+1||j==n+i-1?"*":" ");printf("\n");}}1-26、编程,输入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-1;j++)printf("%s",j==n-i+1||j==n+i-1?"*":" ");printf("\n");}}1-27、编程,打印下列上三角形式的乘法九九表。

C语言图形输出习题解析

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 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9图4.19 n=5时的螺旋方阵【4.24】输入n值,输出如图所示回型方阵。

【4.25】输出如图所示的数字金字塔【4.26】输入n值,输出如图所示图形。

【4.27】输入顶行字符和图形的高,输出如图所示图形。

【4.28】输入首字符和高后,输出如图所示回型方阵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字符图形
例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 的展开系数
递推法计算组合数
#include "stdio.h"
void main(){
int c,n,i,j;
printf("Input n =");
scanf("%d",&n);
for (i = 0;i <= n;i++) {
for (j = 0;j < n-i;j++)
printf("%4c",' ');
c = 1;
for (j = 0;j <= i;j++) {
printf("%4d",c);
printf("%4c",' ');
c = c * (i - j) / (j + 1);
/*可以写成c *= (i - j) / ( j + 1)吗?*/ }
printf("\n");
}
}。

相关文档
最新文档