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的值。

  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列。

相关文档
最新文档