一个打印菱形图案的C语言程序.doc
一个打印菱形图案的C语言程序1空心l菱形/* fileType: .c fileNmae: diamond 空心菱形 author: xiaobing date: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("%*sn",(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("*"); else printf(" "); printf("n"); getchar();