C语言图形输出习题解析

合集下载

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

C语言典型例题  关于图形输出
} 从上边一系列此类图形输出编程无非就是找行数、空格数及星号
数之间的关系,在进行一系列组合便能输出更为复杂的图形。亲爱的 同学希望这对你能有所帮助。
{for(j=1;j<i+1 ;j++) printf(" ");
(10)
for(k=1;k<=7-2*i;k++) printf("*"); printf("\n"); } } (8) #include "stdio.h" void main() { int i,j,k; for(i=1;i<=5;i++) {for(j=1;j<=5-i;j++) printf(" "); for(k=1;k<=i;k++) printf("*"); printf("\n"); } for(i=1;i<=4;i++) {for(k=1;k<=5-i;k++) printf("*"); printf("\n"); } } (9) #include "stdio.h" void main() { int i,j;
(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语言简单输入输出练习及解析

C语言简单输入输出练习及解析

C语言简单输入输出练习及解析main() ??{ int a,b;float c,d;long e,f;unsigned int u,v;char c1,c2;scanf("%d,%d",a,b);scanf("%f,%f",c,d);scanf("%1d,%1d",e,f);scanf("%o,%o",u,v);scanf("%c,%c",c1,c2);printf("\n");printf("a=%d,b=%d\n",&a,&b);printf("c=%f,d=%f\n",&c,&d);printf("e=%d,f=%d\n",&e,&f);printf("u=%o,v=%\n",&u,&v);printf("c1=%d,c2=%d\n",&c1,&c2);}1,这个程序有语法错误吗?为什么?2,调试上述程序无语法错误后,用下面的数据对程序进行测试:a=123, b=456, c=17.6, d=71837.657, e=70000, f=2174506, u=62000, v=58765,c1=‘a‘,c2=‘b‘分析运行结果。

3,输入e和f的语句改为:scanf("%d,%d",&e,&f );再用上述数据测试并分析结果4,将输入u和v的语句改为:scanf("%d,%d",&u,&v );再用上述数据测试并分析结果5, 将输入e和f的语句改为:printf("e=%d,f=%d\n",e,f);再用上述数据测试并分析结果6, 将输入u和v的语句改为:printf("u=%u,v=%u\n",u,v);或printf("u=%d,v=%d\n",u,v); 再用上述数据测试并分析结果7,请同学们自己修改程序和改变数据输入的形式,分析各种情况下的输入与输出"#include#includemain(){int a,b;float c,d;long e,f;unsigned u,v;char c1,c2;SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1;scanf("%d,%d",&a,&b);scanf("%f,%f",&c,&d);scanf("%ld,%ld",&e,&f); scanf("%o,%o",&u,&v);scanf("%c,%c",&c1,&c2); printf("\n");printf("a=%d,b=%d\n",a,b); printf("c=%f,d=%f\n",c,d); printf("e=%ld,f=%ld\n",e,f); printf("u=%o,v=%v\n",u,v); printf("c1=%c,c2=%c\n",c1,c2); }。

c语言实验习题及答案详解

c语言实验习题及答案详解

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 →3.142,10.123456 →10.123)#include<stdio.h>main(){double b,d;printf("请输入一个小数:");scanf("%lf",&b);printf("输出原来的数:%f\n",b);b*=1000;b+=0.5;b=(int)b;d=b/1000;printf("输出现在的数:%.3lf\n0",d);}b.输入一个4位整数,求其得各位数字的平方和;(1234 → 1+4+9+16=30)#include<stdio.h>main(){int n,sum=0,i,t;printf("请输入一个四位整数:\n");scanf("%d",&n);for(i=0;i<4;i++){t=n%10;n/=10;sum+=t*t;}printf("%d\n",sum);}c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;#include<stdio.h>main(){char ch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#include<stdio.h>main(){int i;for(i=65;i<91;i++){printf("%c",i);printf("%c",i+32);}printf("\n");}e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次#include<stdio.h>main(){double f1,f2;f1=10e-30;f2=10e30;printf("%lf\n%lf\n",f1,f2);}f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;#include<stdio.h>void main(){float f;double d;f=3.14159265358979323846264338327950288;d=3.14159265358979323846264338327950288;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。

C语言编程题精选和答案解析

C语言编程题精选和答案解析

C语言编程题精选C语言学习 2010-11-30 15:48:25 阅读47 评论0 字号:大中小订阅1. 有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。

2. 任意输入三个字符,要求首先按逆序输出,然后同行原序输出。

3. 在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):************************4. 在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制):***************5. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************6. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):**********7. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************8. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*************************9. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************10. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*************************11. 编写打印如下图形的程序(考虑将输出的行数由输入的值来控制): * * * * ** * * * ** * * * ** * * * *12. 编制程序打印如下图形(考虑将输出的行数由输入的值来控制):ABBBCCCCCDDDDDDDEEEEEEEEEFFFFFFFFFFFGGGGGGGGGGGGG13. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 114. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 115. 编程打印图形(考虑将输出的行数由输入的值来控制):1 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 1116. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 117. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 118. 输入一个大写字母打印菱形。

程序流程图输出例子和答案

程序流程图输出例子和答案

程序流程图输出例子和答案下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!题目:计算两个数的和程序流程图:1. 开始2. 输入第一个数3. 输入第二个数4. 计算两数之和5. 输出结果6. 结束答案:1. 开始:程序开始执行。

C语言编程题与答案解析

C语言编程题与答案解析
}
9.(*)试编程:判断输入的正整数是否既是 5,又是 7 的整数倍 数。若是则输出 yes;否 则输出 no。
10.(*)已有函数调用语句 c=add(a,b);请编写 aad 函数,计算两 个实数 a 和 b 的和,并返回和值。
11.(*)有人想将手中一张面值 100 元的人民币换成 5 元、1 元、 0.5 元面值的零钱 100 张,以上三种面值的零钱至少有一张,问共有几
12.(*)求 Sn=a+aa+aaa+aaaa+aaaaa 的前 5 项之和,其中 a 是一个
数字,例如:
2+22+222+2222+22222
程序 1:main()
{int i, a,n;
long sum=0, b=1,c=1;
scanf("%d,%d",&a,&n);
for(i=1;i<=n;i++) {sum+=a*c;
} 14.(*)用近似1 公式1 求自然对数的底 e 的值。
e≈12+!1!+3! + +…… #include"math.h" main() {float i,j,e,p=1.0,sum=0.0; for(i=1;i<10 ;i++)
{for(j=1;j<=i;j++) p=p*j;
sum=sum+1.0/p; p=1.0;} e=i+sum; printf("%f\n",e); } 15.(*)请编程,用 scanf()函数输入三个字符,对这三个字符各 加一个整数 1 后,用 putchar()函数输出,且每输出一个字符换一行。 16.(*)请编程,用 scanf()函数输入三个整数,输出其中不大不 小的那个数,输出宽度为五位。 int findmid(int i,int j,int k) {int n;

C语言习题参考答案1-5

C语言习题参考答案1-5

《C语言》作业第二章2.4 用传统流程图表示求解以下问题的算法。

(1)有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(即A瓶原来盛醋,现改盛酱油,B瓶则相反)。

解:显然,如果只有两个瓶子,肯定不能完成此任务,必须有一个空瓶C作为过渡。

步骤如图2.4:(2)依次将3个数输入,要求输出其中最大的数。

2.5 用N-S图表示2.4题中算法(2)。

第三章3.5 字符常量和字符串常量有什么区别?解:字符常量是一个字符,在程序中字符是用单引号括起来的。

字符串变量是有0个或若干个字符组合而成,在程序中字符串是用双引号括起来,在存储时系统自动在字符串最后面加一个结束符号’\0’。

3.9 求下面算术表达式的值。

(1) x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7(2) (float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.5解:(1)2.5(2)3.53.10 写出程序运行的结果#include<stdio.h>void main(){int i,j,m,n;i=8; j=10;m=++i; n=j++;printf(”%d,%d,%d,%d\n”,i,j,m,n);}解:运行结果为:9,10,9,113.12 写出下面赋值表达式运算后a的值,设原来a=12, n=5。

a 和n都定义为整型变量。

(1) a+=a (2)a-=2 (3)a * =2+3(4)a%=(n%=2 ) (5)a/=a+a (6)a+=a-=a*=a解:(1)24 (2)10 (3)60(4)0 (5)0 (6)0第4章4.6 用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=‘A’,c2=‘a’,问在键盘上如何输入?(空格用_表示)#include<stdio.h>void main(){int a,b;float x,y;char c1,c2;scanf(“a=%d_b=%d”,&a,&b);scanf(“%f_%e”,&x,&y);scanf(“_%c_%c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2); }解:可按如下方式在键盘上输入:a=3_b=78.5_71.82A_a第五章1.补充题,描述下列条件1)a 小于b 或小于c2, 但a 和b 都大于c2)a 和b 中有一个大于c3)a 是非正整数4)a 是奇数5)a 不能被b整除解:(1)a<b||<c2&&a>c&&b>c(2)(a>c&&b<=c)||(a<=c&&b>c)(3)!(a%2==0||a%2==1)(4)a%2==1(5)a/b!=0第5.3题写出各逻辑表达式的值,设a=3,b=4,c=5。

程序设计语言c习题答案

程序设计语言c习题答案

第五章5-1编写程序在一行中输出N个星号#include<stdio.h>int main(){ int n,i;scanf("%d",&n);for(i=0;i<n;i++)putchar('*');putchar('\n');return 0;}5-2输入图形的高n,输出如下例(n=5)所示的图形#include<stdio.h>int main(){ int n,i,j;scanf("%d",&n);for(i=1;i<=n;i++){ for(j=1;j<i;j++)putchar(' ');for(j=1;j<=n;j++)putchar('*');putchar('\n');}return 0;}5-3编写程序,输入n的值,求:1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n (保留四位小数) #include "stdio.h"int main(){ int n,f=1;int i=1;double j,sum=0;scanf("%d",&n);while(i<=n){ j=1/(double)i;sum+=j*(double)f;i++;f=-f;}printf("sum=%.4lf\n",sum);return 0;}#include "stdio.h"int main(){ int i,n,m=-1,k=0;double j,sum=0.0;scanf("%d",&n);for(i=1;i<=n;i++){ m=-m;j=m/(double)(k+1);sum=sum+j;k++;}printf("%.4lf\n",sum);return 0;}5-4有一个分数序列输入整数n,求出其前n 项的和#include<stdio.h>int main(){ int n,i;double s=0,x=2,m=1,a;scanf("%d",&n);for(i=1;i<=n;i++){ s+=(x)/m;a=x;x=x+m;m=a;}printf("sum=%16.10lf\n",s);return 0;}5-5从键盘输入整数n,求e的值。

【精品】北理工C语言上机题复习输出图形

【精品】北理工C语言上机题复习输出图形

* * * *
W W W W W W W W W W W W W W W W W W W W W W W
W W X H H X Y G G Y Z F F Z A B C D E D C B A
#include <stdio.h> void main() { int i,j,n; char ch; // scanf("%d%c",&n,&ch); n = 7; ch = ’W’; for(i=1;i<=n;i++) { for(j=1;j<=2*n-1;j++) printf("* "); printf("\n"); } return; }
ch1 = ch; ch2 = ch; for(i=1;i<=3*(n-1);i++) ch2++; for(i=1;i<=n;i++) { for(j=1;j<=2*n-1;j++) if(j==1||j== 2*n-1) printf("%c ",ch1); else if(i==j || i== 2*n-j) printf("%c ",ch2); else if(i==n) printf("%c ",ch); else printf(" "); printf("\n"); ch1++; ch2--; }
* * * *
* * * * *
for(i=1;i<=n;i++) { for(j=1;j<=2*n-1;j++) if(j==1||j== 2*n-1) printf(“* “);

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个正整数的和、差、积、商并输出。

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

输入格式:输入在一行中给出2个正整数A和B。

输出格式:在4行中按照格式“A 运算符 B = 结果"顺序输出和、差、积、商。

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语言编程实验

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

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

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

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

输出格式:按照下列格式输出celsius = 26, fahr = 对应的华氏温度整数值代码:#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位的正整数。

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

输入样例:123输出样例:321代码:#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语言中打印图形类问题解决方法探析

C语言中打印图形类问题解决方法探析<a rel='nofollow' onclick="doyoo.util.openChat();return false;"href="#">摘要:介绍了C语言程序设计中一种常见的题目――图形打印问题的解决方案,并详细介绍了如何使用待定系数法解决双重循环的边界问题。

关键词:C语言图形打印待定系数法在C语言程序设计中有一类让学生感到头疼的问题,就是图形打印问题。

如何让学生掌握好这类问题的解决方案呢?笔者根据多年的教学经验,对这类问题研究出一种有效的解决方法,下面就对这种方法进行阐述。

1 C语言中的图形打印问题在C语言程序设计中的图形打印问题通常要求学生用某种字符(如“*”)打印出一种有变化规律的图形。

常见的图形如图1中的各图所示:??图 1 常见图形问题示例2 整体解决思路对于这类问题,有一个整体的解决思路。

通过观察可以发现,每个图形都是由若干行、若干列的符号组成的,因此可以考虑使用双重循环来解决。

双重循环是指在一个循环体内完整地包含另一个或多个循环结构,当外层循环控制变量为某一值时,内层循环要全部执行一遍。

外层循环变量才能再次改变一次。

对于这类题目,可以由外层循环控制行数,每行打印的内容由内层循环控制。

首先,确定图形的行数,通常用一个变量来表示当前行号,例如i 。

i的变化范围可以由1至总行数,总行数可以直观地看到,例如图(a),外层循环的控制可以表示为for(i=1;i<=5;i++)。

其次,内层循环来表示每一行需要打印的内容,可以分为两种情况:1)每行直接打印若干个符号,前面不含空格。

这种情况较简单,双重循环,外层循环控制行数,内层循环控制每一行的符号数。

2)每行先打印若干个空格,再打印符号。

这种情况可以使用两个内层循环,一个用来打印空格,一个用来打印符号。

需要注意的是,每一行的内容打印完成之后,也就是在最后一个内层循环的下边,外层循环的循环体内,一定别忘了加上打印换行符的语句,否则是打印不出需要的图形的。

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

【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】输入首字符和高后,输出如图所示回型方阵。

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编写程序;输出如图所示sinx 函数0到2π的图形..4.18编写程序;在屏幕上输出一个由号围成的空心圆..4.19编写程序;在屏幕上绘制如图余弦曲线和直线..若屏幕的横向为x轴;纵向为y轴; 在屏幕上显示0~360度的cosx曲线与直线x=fy=45y-1+31的迭加图形..其中cos图形用""表示;fy用"+"表示;在两个图形的交点处则用fy图形的符号..4.4分析:打印此图形用两重循环实现..图形要重复n行;故采用循环结构实现循环n次;循环体内部打印一行''号;把上述思路表示为:fori=1;i<=n;i++打印一行''号;每行有n个''号;再采用循环结构实现n次循环;循环内部用格式输出语句打印一个''号;即:forj=1;j<=n;j++printf"";按照上述思路;实现打印矩形..参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=n;j++printf"";printf"\n";}}4.5分析:此图形和上题的区别在于在每一行先要打印空格;然后再打印n 个''号;在上题第一层循环体内打印''号的循环前面增加一个循环打印空格..每行空格的个数是逐行减少的;由于第一层循环的控制变量i是逐行增1;所以用一个固定值的数减去i就可实现对空格个数的控制;在此题中固定值可使用变量n..参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=n-i;j++printf" ";forj=1;j<=n;j++printf"";printf"\n";}}4.6分析:此题和上题的区别在于每行''的数量逐行减少;可以使用上题控制空格个数的思路来控制''号的个数;请注意每行''的个数都是奇数..参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=n-i;j++printf" ";forj=1;j<=2i-1;j++printf"";printf"\n";}}4.7分析:此题图形是第3题图形的垂直反转;在编程上我们可以变换一个思路..对于图形中的第i行1≤i≤n;共需要输出2n-i个字符;其中前面的i-1个字符为空格;后面的字符为''号..按照这一思路可以编写出如下程序..参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf"%d"; &n;for i=1;i<=n;i++ / 重复输出图形的n行 /{ for j=1;j<=2n-i;j++ / 重复输出图形一行中的每个字符 / ifj<=i-1 printf" "; / 输出前面的空格 /else printf""; / 输出后面的号 /printf"\n";}}4.8分析:此题和第3题的区别仅是每行的''个数增加n-1个..参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=n-i;j++printf" ";forj=1;j<=2i-1+n-1;j++printf"";printf"\n";}}4.9分析:对于空心图形;我们可以在上题的基础上;对于打印''号的循环进行修改;仅在循环开始值j=1和循环结束值j=2i-1+n时打印''号;其它位置都打印空格..另一种思路是将每行打印的空格和''的两个循环合为一体考虑;在判断出需要打印''的两个位置及第一行和最后一行相应位置外;其余位置都打印空格..参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=2n+i-3;j++ifj==n-i+1 || j>n-i+1 && i==1||i==n printf"";else printf" ";printf"\n";}}4.10分析:此图形可以理解为两个空心梯形反向连接而成;因此可以利用上题的思路进行输出..参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf"%d";&n;fori=1;i<=n;i++ / 输出图形的上半部分含中心行 /{ forj=1;j<=2n-i-1;j++ifj==i printf"";else printf" ";printf"\n";}fori=1;i<n;i++ / 输出图形的下半部分不含中心行 /{ forj=1;j<=n+i;j++ifj==n-i printf"";else printf" ";printf"\n";}}4.11分析:此题与上题的区别在于打印''号的位置不同;编程时要找出应打印''号的位置和两个循环变量i、j以及行数n的关系..参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf "%d"; &n;fori=1;i<=n;i++ / 输出图形的上半部分含中心行 / { forj=1;j<=2n-i;j++ifj==n-i+1 || j>n-i+1 && i==1 printf"";else printf" ";printf"\n";}fori=1;i<n;i++ / 输出图形的下半部分不含中心行 / { forj=1;j<=3n-1-i;j++ifj==i+1 || j>i+1 && i==n-1 printf"";else printf" ";printf"\n";}}4.12参考答案:main{ int i;j;n;printf"\nPlease Enter n:";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=n;j++ifj==n-i+1 || i==1 || i==n printf"";else printf" ";printf"\n";}}4.13参考答案:main{ int i;j;n;printf"\nPlease Enter n: ";scanf"%d"; &n;fori=1;i<=n;i++ / 输出图形的上半部分含中心行 / { forj=1;j<=n-i;j++ifj==1 || j==n-i+1 printf" ";else printf" ";printf"\n";}fori=1;i<n;i++ / 输出图形的下半部分不含中心行 / { forj=1;j<=i+1;j++ifj==1 || j==i+1 printf" ";else printf" ";printf"\n";}}4.14参考答案:main{ int i;j;n;printf"\nPlease Enter n: ";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=n;j++ifj==1 || j==i || j==n printf"";else printf" ";printf"\n";}}4.15参考答案:main{ int i;j;n;printf"\nPlease Enter n: ";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=n+i-1;j++ifj>n-i printf"";else printf" ";printf"\n";}fori=1;i<n;i++{ forj=1;j<=2n-i-1;j++ifj>i printf"";else printf" ";printf"\n";}}4.16参考答案:main{ int i;j;n;printf"\nPlease Enter n: ";scanf"%d";&n;fori=1;i<=n;i++{ forj=1;j<=n+i-2;j++ifj==n-i+1 printf"";else printf" ";printf"\n";}}4.17分析:首先对图形进行设计;坐标的X轴和Y轴分别对应屏幕的列和行;一个正弦函数的周期为0~360度;我们把一个步长定义为10度;打印时每换一行等于函数的自变量增加10度;屏幕的列宽为80;函数值为0对应屏幕的第40列;sinx的值在-1~1;变换成列数为以0为中心的-30~30;对应屏幕上第10~70列..设计程序时;控制换行的自变量i乘以10得到正弦函数的X值;调用库函数sin求出函数值再乘以30输出的列宽;因为我们以屏幕的第40列为0点;故再加上40得到应在屏幕上显示的点..参考答案:define PAI 3.14159include <math.h>main{ double x;int y;i;yy;fori=1;i<80;i++ / 打印图形的第一行 /ifi==40 printf""; / i控制打印的列位置 / else printf"-";printf"\n";forx=10.0;x<=360.0;x+=10. / 从10度到360度 /{ y = 40+30sinxPAI/180.0; / 计算对应的列 /yy = 40>y 40 : y; / 下一行要打印的字符总数 /for i=1;i<=yy;i++ / 控制输出图形中的一行 /{ ifi==y printf""; / i控制打印的列位置 /else ifi==40 printf"|"; / 打印中心的竖线 /else printf" ";}printf"\n";}}4.18分析:首先设计屏幕图形;如果预计圆形在屏幕上打印20行;所以定义圆的直径就是20;半径为10;圆的方程是X2×Y2=R2;因为图形不是从中心开始打印而是从边沿开始;所以Y从10变化到-10;根据方程求出X;对求得的X值再根据屏幕行宽进行必要的调整得到应打印的屏幕位置..参考答案:include <math.h>main{ double y;int x;m;fory=10;y>=-10;y-- / 圆的半径为10 /{ m = 2.5 sqrt100-yy; / 计算行y对应的列坐标m /forx=1;x<30-m;x++printf" "; / 输出圆左侧的空白 /printf""; / 输出圆的左侧 /for;x<30+m;x++printf" "; / 输出圆的空心部分 /printf"\n"; / 输出圆的右侧 /}}4.19参考答案:include <stdio.h>include <math.h>main{ double y;int x; m; n; yy;for yy=0;yy<=20;yy++{ y = 0.1yy;m = acos1-y10;n = 45 y-1+31;for x=0;x<=62;x++if x==m && x==n printf"+";else ifx==n printf"+";else ifx==m || x==62-m printf"";else printf" ";printf"\n";}}。

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 。

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

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

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

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

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

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

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

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

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

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

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

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

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

!参考答案:main( ){ int i,j,n;printf("\nPlease Enter n:");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");}}【】分析:此题图形是第3题图形的垂直反转,在编程上我们可以变换一个思路。

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

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

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

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

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

参考答案:main( ){ int i,j,n;printf("\nPlease Enter n:");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("*");else printf(" ");printf("*\n");}}【】分析:此图形可以理解为两个空心梯形反向连接而成,因此可以利用上题的思路进行输出。

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

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

相关文档
最新文档