C语言图形输出习题

合集下载

C语言 用循环程序输出以下图案

C语言 用循环程序输出以下图案
printf(" "); for(k=0;k<=2*i;k++) 控制星号
printf("*"); printf("\n"); } for(i=0;i<=2;i++) {for(j=0;j<=i;j++)
printf(" "); for(k=0;k<=4-2*i;k++)
printf("*"); printf("\n"):从键盘上输入若干个学生的成绩,统计并输出最高 成绩、最低成绩和平均成绩,当输入负数时结束输入。
实训 2 设计程序输出 Fibonacci 数列的前 50 个数,其开始两个数是 1、1,从第三个数 开始,每个数等于前两个数之和。例如,1、1、2、3、5、8、13、…。
用循环程序输出以下图案。(P96-实-7)
* *** ***** ******* ***** ***
*
解题思路:此类题目属于二维图形的输出,找到规律的行(此题前 4 行有一样的规律,后 3 行一样的规律) 一般有一个通式,
#include"math.h" main() {int i,j,k;
for(i=0;i<=3;i++) 控制行 {for(j=0;j<=2-i;j++) 控制空格
实训 3 计算 1+1/2+1/4+…+1/50 的值,并显示出来。 实训 4 输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。 实训 5 用循环程序输出以下图案。
* *** ***** ******* ***** ***

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

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("*");elsefor(j=1;j<=n-i+1;j++)if(j==n-i+1) printf("*");else printf(" ");printf("\n");}}额外进程测试输入期待的输出#include <stdlib.h>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时间限制内存限制额外进程测试输入期待的输出#include <stdlib.h>int main(int argc, char *argv[]){int i,j,n,m,k;scanf("%d",&n);for(i=1;i<=2*n-1;i++){if(i<=n) {m=i;k=2*n-i;}else {m=2*n-i;k=i;}for(j=1;j<=k;j++)if(j==k||j==m)printf("*");else printf(" "); printf("\n"); }system("PAUSE");return 0;}成绩: 10 / 折扣: 0.8时间限制内存限制额外进程测试输入期待的输出#include <stdlib.h>int main(int argc, char *argv[]){int i,j,n;{scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n+i-1;j++)if(j<=n+i-1&&j>=n+1-i) printf("*");else if(j<n-1+i) printf(" ");printf("\n"); }}{ for(i=1;i<=n-1;i++){for(j=1;j<=2*n-1-i;j++)if(j<=2*n-1-i&&j>=i+1) printf("*");else if(j<i+1) printf(" ");printf("\n"); }}system("PAUSE");return 0;}成绩: 10 / 折扣: 0.8时间限制内存限制额外进程测试输入期待的输出#include <stdlib.h>int main(int argc, char *argv[]){int i,j,n;char a,k;scanf("%d,%c",&n,&a);for(i=1;i<=n;i++){ for(j=1;j<=i-1;j++)printf(" ");for(k=a;k<=n+a-1;k++)printf("%c",k);a++;printf("\n");}system("PAUSE");return 0;}成绩: 10 / 折扣: 0.8时间限制内存限制额外进程测试输入期待的输出#include <stdlib.h>int main(int argc, char *argv[]){int i,j,n;scanf("%d",&n);if(n>=2){{for(j=1;j<=n-1;j++) printf(" ");for(j=n;j<=2*n-1;j++) printf("*");printf("\n");}{ for(i=2;i<=n-1;i++){for(j=1;j<=2*n-2+i;j++)if(j==n-i+1||j==2*n-2+i)printf("*");else printf(" ");printf("\n");} }{ i=n; for(j=1;j<=n-i;j++) printf(" ");for(j=1;j<=2*n-2+i;j++) printf("*");printf("\n");}}else if(n==1) printf("*\n");system("PAUSE");return 0;}成绩: 10 / 折扣: 0.8时间限制内存限制额外进程测试输入期待的输出#include <stdlib.h>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++)printf("*");printf("\n");}system("PAUSE");return 0;}时间限制内存限制额外进程测试输入期待的输出#include <stdlib.h>int main(int argc, char *argv[]){int i,j,n,m,k;char a,x;scanf("%d,%c",&n,&a);for(x=a,i=1;x<=n+a-1,i<=n;x++,i++){if(i<=n) {m=n+1-i;k=n-1+i;}else {m=i+1-n;k=3*n-1-i;}for(j=1;j<=k;j++)if(j==k||j==m)printf("%c",x);else printf(" "); printf("\n"); }for(x=a+n-2,i=n+1;x<=n+a-1,i>=n+1&&i<=2*n-1;x--,i++){if(i<=n) {m=n+1-i;k=n-1+i;}else {m=i+1-n;k=3*n-1-i;}for(j=1;j<=k;j++)if(j==k||j==m)printf("%c",x);else printf(" "); printf("\n"); }system("PAUSE");return 0;}成绩: 10 / 折扣: 0.8时间限制内存限制额外进程测试输入期待的输出#include <stdlib.h>int main(int argc, char *argv[]){int i,j,n,m,k;scanf("%d",&n);for(i=1;i<=2*n-1;i++){if(i<=n) {m=n+1-i;k=n-1+i;}else {m=i+1-n;k=3*n-1-i;}for(j=1;j<=k;j++)if(j==k||j==m)printf("*");else printf(" "); printf("\n"); }system("PAUSE");return 0;}6-2. 求整数平方的回文数成绩: 10 / 折扣: 0.8输入正整数m 和n ,输出[m, n] 闭区间中满足下列条件的正整数及其平方:正整数的平方具有对称性质(也称为回文数), 如:11 的平方是121 。

c语言练习题

c语言练习题
2-6:36个人搬36块砖,男人一人搬3块,女人一人搬1块,小孩2人搬一块,问男人,女人,小孩各多少人?
2-7:将一元钱分成一分,二分,五分币,共有多少种方法?
三、简单的判断问题
3-1:输入一个数n,判断该数是不是偶数,是偶数输出Y,不是偶数输出N
3-2:输入3-12之间的一个数,输出该月有几天。
四、累加问题与累乘问题
18.1乒乓球
这是一份乒乓球比赛的信息记录。
WWWLLLLWWLLWLWLLLLW
W代表你得一分,L代表对手得一分。
编写程序,由键盘输入比赛信息(WL字符串形式),输出当前的比分,你的分数在前,中间以冒号分隔。
例如,对于上面的信息记录,应当输出
8:11
18.2陶陶摘苹果
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。例如:对于输入100 200 150 140 129 134 167 198 200 111 110,应当输出5
**
****
******
********
**********
1-6:编写程序,输出以下图形。
*
***
*****
*******
*********
1-7:编写程序,输出以下图形。
*
***
*****
*******
*********
1-8:编写程序,输出以下图形。(教材130页6.14)
*
***
*****

C语言图形题

C语言图形题

1-4.打印梯形成绩: 10 / 折扣: 0.8输入n 值,输出如下例(n=4 )所示的高和上底均为n 的等腰梯形:****************************(上图中_表示空格)输入:梯形的高n输出:高和上底均为n 的等腰梯形测试输入时间限制内存限制额外进程成绩: 10 / 折扣: 0.8输入n 值,输出如下例(n=4 )所示的Z 形图形:**********输入:图形的高n输出:高为n 的Z 形图形测试输入期待的输出时间限制内存限制额外进程测试输入时间限制内存限制额外进程测试输入期待的输出时间限制内存限制额外进程在每行结束时换行3-1. 打印菱形图形成绩: 10 / 折扣: 0.8输入n ,输出如下例(n=3 )所示的边长为n 的菱形:*************输入:边长n输出:边长为n 的菱形测试输入期待的输出时间限制内存限制额外进程在每行结束时换行输入图形的高n 和首字符c ,输出如下例(c='A' ,n=5 )所示的图形 . ABCDEBCDEFCDEFGDEFGHEFGHI输入:高n 和首字符c输出:高为n 和首字符为c 的平行四边形测试输入期待的输出时间限制内存限制额外进程在每行结束时换行成绩: 10 / 折扣: 0.8输入n 值,输出如下例(n=4 )所示的高和上底均为n 的等腰梯形:***** ** **********输入:高n输出:高和上底均为n 的等腰梯形测试输入时间限制内存限制额外进程在每行结束时换行成绩: 10 / 折扣: 0.8上次你已经打印了一行*号,这次在屏幕上输出一个由星号组成的n 行n 列的正方形。

程序输入n 值,输出如下例(n=4 )所示的高和上底均为n 的正方形:****************输入:高n输出: n 行n 列的正方形测试输入时间限制内存限制额外进程在每行结束时换行成绩: 10 / 折扣: 0.8输入图形的高n 和顶行字符c 。

C语言图形输出习题

C语言图形输出习题

【】输入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)阶螺旋方阵。

123456789图=5时的螺旋方阵【】输入n值,输出如图所示回型方阵。

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

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

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

AAAAAABBBAABCBAABBBAAAAAA图首字符为'A'、高为5的方阵【】输入中心字符和高后,输出如图所示回型方阵。

XXXXXXYYYXXYZYXXYYYYXXXXX图中心字符为'Z'、高为5的方阵【】编写程序,输出如图所示上三角形式的乘法九九表。

【】编写程序,输出如图所示下三角乘法九九表。

C语言编程实验

C语言编程实验

C语言实验习题7-1 输出图形(10 分)编写程序输出图形。

第一行输出12个$,第二行先输出3个空格,然后再输出hello!,第三行输出12个$输入样例:输出样例:#include <stdio.h>int main(){printf("$$$$$$$$$$$$\n"" hello!\n""$$$$$$$$$$$$\n");return 0 ;}7-5 计算华氏温度(5 分)本题要求编写程序,计算摄氏温度26°C 对应的华氏温度。

计算公式:F=9×C/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。

输入格式:本题目没有输入。

输出格式:按照下列格式输出代码:#include <stdio.h>int main(){int f;int c;c=26;f=9*c/5+32;printf("celsius = 26, fahr = %d",f);return 0 ;}7-9 逆序的三位数(10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。

注意:当输入的数字含有结尾的0时,输出不应带有前导的0。

比如输入700,输出应该是7。

输入格式:每个测试是一个3位的正整数。

输出格式:输出按位逆序的数。

输入样例:输出样例:代码:#include <stdio.h>int main(){int n,a,b,c;scanf("%d",&n);a=n/100;b=n/10-a*10;c=n-a*100-b*10;int d;d=a+b*10+c*100;printf("%d",d);return 0 ;}7-10 整数四则运算(10 分)本题要求编写程序,计算2个正整数的和、差、积、商并输出。

题目保证输入和输出全部在整型范围内。

c语言图形题经典习题

c语言图形题经典习题

编程,输入n,输出如下例(n=5)所示的高和上底均为n的等腰空心梯形。

* * * * ** ** ** ** * * * * * * * * * * * *#include "stdio.h"main(){int a,b,c,d,e;scanf("%d",&a);b=a;for(c=1;c<=a;c++){for(d=1;d<=a-c;d++)printf(" ");for(e=1;e<=b;e++)if(c==1||c==a) printf("*");else if(e==1||e==b) printf("*");else printf(" ");b=b+2;printf("\n");}}空心六边形编程,输入n,输出如下例(n=5)所示的边长为n的空心正六边型。

* * * * ** ** ** ** ** ** ** ** * * * *#include <stdio.h>main(){int i,j,k,g,n;scanf("%d",&n);for(i=0;i<n;i++){for(k=0;k<n-i;k++) printf(" ");for(j=0;j<g;j++){if(i==0) printf("*");else if(j==0||j==g-1) printf("*");else printf(" ");}g=g+2;printf("\n");}g=g-4;for(i=n-1;i>0;i--){for(k=0;k<n-i+1;k++) printf(" ");for(j=0;j<g;j++){if(i==1) printf("*");else if(j==0||j==g-1) printf("*");else printf(" ");}g=g-2;printf("\n");}}X形编程,输入n,输出如下例(n=5)所示的图形:* ** ** ** *** ** ** ** *#include <stdio.h>main(){int a,b,c,d;scanf("%d",&a);for(b=1;b<=a;b++){for(c=1;c<=2*a-1;c++)if(c==b||c==2*a-b)printf("*");else printf(" ");printf("\n");}for(b=a-1;b>0;b--){for(c=1;c<=2*a-1;c++)if(c==b||c==2*a-b)printf("*");else printf(" ");printf("\n");}}Z形编程,输入n,输出如下例(n=5)所示的图形:* * * * ***** * * * *#include <stdio.h>main(){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("*");printf("\n");}elsefor(j=1;j<=n-i+1;j++)if(j==n-i+1)printf("*\n");else printf(" ");}N形编程,输入n,输出如下例(n=5)所示的图形:* ** * ** * ** * ** *#include "stdio.h"main(){int a,b,c;scanf("%d",&a);for(b=1;b<=a;b++){for(c=1;c<=a;c++)if(c==1||c==a||c==b)printf("*");else printf(" ");printf("\n");}}菱形编程,输入n,输出如下例(n=3)所示的图形:** * ** * * * ** * **#include "stdio.h"main(){int a,b,c,d,e;scanf("%d",&a);c=1;for(b=1;b<=a;b++){for(d=1;d<=a-b;d++)printf(" ");for(d=1;d<=c;d++)printf("*");printf("\n");c=c+2;}c=c-4;for(b=a-1;b>0;b--){for(d=1;d<=a-b;d++)printf(" ");for(d=1;d<=c;d++)printf("*");printf("\n");c=c-2;}}数字正放形编程,输入n,输出如下例(n=6)所示的高度为n的图形。

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

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

在C语言学习中我们会遇到各种输出图形的题目,下面我们就来看一些这种题目。

一、编写程序输出下图所示的图形。

(1)(2)(3)(11)下面我们分别以i、j、k分别表示行数,空格数,星号数。

(1)i j k (2) i j k (3) i j k1 0 1 1 6 1 1 0 92 0 2 2 5 2 2 1 73 0 3 34 3 3 2 54 0 4 4 3 4 4 3 35 0 5 5 2 5 5 4 16 0 6 6 1 6 j<=i-17 0 7 7 0 7 k<=11-2*iK<=i j<=7-iK<=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");}}然后我们在进行扩展。

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

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)阶螺旋方阵。

12345161718196152425207142322218131211109图4.19n=5时的螺旋方阵【4.24】输入n值,输出如图所示回型方阵。

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

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

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

AAAAAABBBAABCBAABBBAAAAAA图4.24首字符为'A'、高为5的方阵【4.29】输入中心字符和高后,输出如图所示回型方阵。

XXXXXXYYYXXYZYXXYYYYXXXXX图4.25中心字符为'Z'、高为5的方阵【4.30】编写程序,输出如图所示上三角形式的乘法九九表。

【4.31】编写程序,输出如图所示下三角乘法九九表。

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

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

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

每行空格的个数是逐行减少的,由于第一层循环的控制变量i是逐行增1,所以用一个固定值的数减去i就可实现对空格个数的控制,在此题中固定值可使用变量n。

参考答案:main(){inti,j,n;printf("\nPleaseEntern:");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");}}【4.6】分析:此题和上题的区别在于每行'*'的数量逐行减少,可以使用上题控制空格个数的思路来控制'*'号的个数,请注意每行'*'的个数都是奇数。

参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("*");printf("\n");}}【4.7】分析:此题图形是第3题图形的垂直反转,在编程上我们可以变换一个思路。

对于图形中的第i行(1≤i≤n),共需要输出2n-i个字符,其中前面的i-1个字符为空格,后面的字符为'*'号。

按照这一思路可以编写出如下程序。

参考答案:main(){inti,j,n;printf("\nPleaseEntern:");for(i=1;i<=n;i++)/*重复输出图形的n行*/{for(j=1;j<=2*n-i;j++)/*重复输出图形一行中的每个字符*/if(j<=i-1)printf("");/*输出前面的空格*/elseprintf("*");/*输出后面的*号*/printf("\n");}}【4.8】分析:此题和第3题的区别仅是每行的'*'个数增加n-1个。

参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1+(n-1);j++)printf("*");printf("\n");}}【4.9】分析:对于空心图形,我们可以在上题的基础上,对于打印'*'号的循环进行修改,仅在循环开始值(j=1)和循环结束值(j=2*(i-1)+n)时打印'*'号,其它位置都打印空格。

另一种思路是将每行打印的空格和'*'的两个循环合为一体考虑,在判断出需要打印'*'的两个位置及第一行和最后一行相应位置外,其余位置都打印空格。

参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=2*n+i-3;j++)if(j==n-i+1||j>n-i+1&&(i==1||i==n))printf("*");elseprintf("");printf("*\n");}}【4.10】分析:此图形可以理解为两个空心梯形反向连接而成,因此可以利用上题的思路进行输出。

参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++)/*输出图形的上半部分(含中心行)*/{for(j=1;j<=2*n-i-1;j++)if(j==i)printf("*");elseprintf("");printf("*\n");}for(i=1;i<n;i++)/*输出图形的下半部分(不含中心行)*/{for(j=1;j<=n+i;j++)if(j==n-i)printf("*");elseprintf("");printf("*\n");}}【4.11】分析:此题与上题的区别在于打印'*'号的位置不同,编程时要找出应打印'*'号的位置和两个循环变量i、j以及行数n的关系。

参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++)/*输出图形的上半部分(含中心行)*/{for(j=1;j<=2*n-i;j++)if(j==n-i+1||j>n-i+1&&i==1)printf("*");elseprintf("");printf("*\n");}for(i=1;i<n;i++)/*输出图形的下半部分(不含中心行)*/{for(j=1;j<=3*(n-1)-i;j++)if(j==i+1||j>i+1&&i==n-1)printf("*");elseprintf("");printf("*\n");}}【4.12】参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n;j++)if(j==n-i+1||i==1||i==n)printf("*");elseprintf("");printf("\n");}}【4.13】参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++)/*输出图形的上半部分(含中心行)*/ {for(j=1;j<=n-i;j++)if(j==1||j==n-i+1)printf("*");elseprintf("");printf("\n");}for(i=1;i<n;i++)/*输出图形的下半部分(不含中心行)*/ {for(j=1;j<=i+1;j++)if(j==1||j==i+1)printf("*");elseprintf("");printf("\n");}}【4.14】参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n;j++)if(j==1||j==i||j==n)printf("*");elseprintf("");printf("\n");}}【4.15】参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n+i-1;j++)if(j>n-i)printf("*");elseprintf("");printf("\n");}for(i=1;i<n;i++){for(j=1;j<=2*n-i-1;j++)if(j>i)printf("*");elseprintf("");printf("\n");}}【4.16】参考答案:main(){inti,j,n;printf("\nPleaseEntern:");scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n+i-2;j++)if(j==n-i+1)printf("*");elseprintf("");printf("*\n");}}【4.17】分析:首先对图形进行设计,坐标的X轴和Y轴分别对应屏幕的列和行,一个正弦函数的周期为0~360度,我们把一个步长定义为10度,打印时每换一行等于函数的自变量增加10度;屏幕的列宽为80,函数值为0对应屏幕的第40列,sin(x)的值在-1~1,变换成列数为以0为中心的-30~30,对应屏幕上第10~70列。

相关文档
最新文档