云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > c语言经典算法

c语言经典算法

  • 62 次阅读
  • 3 次下载
  • 2025/6/3 10:13:41

2.10 菱形2.c

编一程序,要求输入一正整数,打印出相应的菱形.如:输入3,则应打印出

* * * * * * * * * * *

*

注:本题的解题特色是没有分开打印上下两部分. #include \ main() {int i,j,m; scanf(\,&m); m--;

printf(\ %c\\n\,'*'); for (i=0;i<=2*m;i++)

{for (j=35;j>=m-fabs(m-i);j--) printf(\,' '); printf(\,'*');

for (j=0;j<=(m-fabs(m-i))*2;j++) printf(\,' '); printf(\,'*');}

printf(\ %c\\n\,'*'); } getch(); }

2.11 杨辉三角.c

编一程序:要求输入一正整数,打印出杨辉三角,如输入5,则输出:

1 1 1 1 2 1 1 3 3 1

1 4 6 4 1 分析:可用一数组来完成,仔细观察,可将该三角看成如下图形:

37

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1

仔细观察该图形,可知该数组的第一列与对角线上的元素均为1, 从第三行到第n行的aa[i][j]=aa[i-1][j-1]+aa[i-1][j]. #include\ main() {FILE *fp; int i,j,n;

static aa[21][40]; /*0行0列不用*/ clrscr();

if((fp=fopen(\,\ {printf(\打开文件错误!\ exit(0); }

printf(\请输入打印的行数:\ scanf(\,&n); aa[1][1]=1;

for (i=2;i<=n;i++) /*给第一列和对角线上的元素赋1*/ aa[i][1]=aa[i][i]=1;

for (i=1;i<=n;i++) /*按要求的格式打印输出*/ {for (j=20;j>=i;j--) {printf(\ fprintf(fp,\ }

for (j=1;j<=i;j++) {printf(\,aa[i][j]); fprintf(fp,\,aa[i][j]); } printf(\ fprintf(fp,\ } getch(); }

38

2.12 字母矩形.c

打印字母矩形.如键盘输入D,则往屏幕上输出如下矩形:

A B B B C C C C C D D D D D D D C C C C C B B B A

解法1: main()

{char ch1,ch,ch2; int i,j,k=1; clrscr();

scanf(\,&ch); if (ch>='a') ch=ch-'a'+'A'; j=(ch-'A')*2;

for(ch1='A';ch1<=ch;ch1++) {for(i=1;i<=j;i++) printf(\

for(i=1;i<=k;i++) printf(\,ch1); j-=2; k+=2; printf(\ } ch2=ch;

for(ch1=ch-1;ch1>='A';ch1--) {for(i=ch1;i

for(i='A'*2;i<(ch2)*2-1;i++) printf(\,ch1); ch2-=1; printf(\ } getch(); }

解法2: #include \

39

#include \ #define ff \ main() {FILE *fp; int i,j,k=0; char m; clrscr();

while (k==0) /*检测输入的是否是字母*/ { printf(\请输入任一字母:\ scanf(\,&m); if ((m>='a')&&(m<='z')) { m=m-32; k=1; }

else if ((m>='Z')||(m<='A')) printf(\输入出错,请重输!\ else k=1; }

if ((fp=fopen(ff,\ { printf (\不能打开文件!\\n\ exit(0); } m=m-'A';

for (i=0;i<=2*m;i++)

{ for (j=35;j>=2*(m-fabs(m-i));j--) /*使图形打印在中间*/ fprintf(fp,\

for(j=0;j<=2*(m-fabs(m-i));j++)

fprintf(fp,\,'A'+(i<=m?i:2*m-i)); fprintf(fp,\ } fclose(fp);

if ((fp=fopen(ff,\ { printf (\不能打开文件!\\n\ exit(0); }

while (!feof(fp)) putchar(fgetc(fp));

40

搜索更多关于: c语言经典算法 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2.10 菱形2.c 编一程序,要求输入一正整数,打印出相应的菱形.如:输入3,则应打印出 * * * * * * * * * * * * 注:本题的解题特色是没有分开打印上下两部分. #include \ main() {int i,j,m; scanf(\,&m); m--; printf(\ %c\\n\,'*'); for (i=0;i<=2*m;i++) {for (j=35;j>=m-fabs(m-i);j--) printf(\,' '); prin

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com