一个双重循环打印菱形

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:30:25
打印菱形等于考印2个三角形,打印一个三角形需要使用一个双重循环,打印两个三角形需要二个双重循环,现提问,你可以只使用一个双重循环将整个菱形输出吗?从键盘输入n打印出共2n+1行的菱形写出算法步骤^~ 3Q``看清楚哦,是菱形
步骤大概和下面的这个程序运用的方法差不多,但下面的程序不是!!仅做参考

main()
{int i,j,k,s;
k=0;s=7;
for(i=1;i<8;i++)
{for(j=0;j<k;j++) printf(" ");
for(j=0;j<s;j++)printf("*");
printf("\n");
if(i<4){k++;s=s-2;}
else{k--;s=s+2;}}}

建议: 使单元格处于编辑状态,按“Alt+Enter”组合键后键入相应的数据。

http://www.yzfy.org/bbs/viewthread.php?tid=35&extra=page%3D1这有很多个版本的,去看看吧!!
#include <stdio.h> //6行版本
#define p(x) putchar(x)
int main()
{
long n,t=0,d=1,a,b;
scanf("%d",&n);
for(n/=2;t>=0;t+=(t-n)?d:d=-1)
for(a=0,b=1;a>=0||(p(10)&0);a+=(a-n)?b:b=-1)
(a>=n-t)?p(42):p(32);

getchar();getchar();
return 0;
}

#include<iostream>
int main()
{
int n;
printf("input n:");
scanf("%d",&n);
for(int i=-(n-1);i<n;i++)
{
printf(" ");
for(int j=0;j<(i>0?i:-i);j++) //控制空格打印
printf(" ");