用C++编写程序得到一个菱形如下图

*************************... *
***
*****
*******
*****
***
*
展开
 我来答
White_MouseYBZ
2014-04-09 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6933万
展开全部
//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
using namespace std;
void main(void){
int i,ci,j,cj;
for(i=1,ci=0;i;++ci<4 ? i++ : i--){
for(j=0;j<4-i;cout << ' ',j++);
for(j=1,cj=i;j;--cj>0 ? j++ : j--)
cout << '*';
cout << endl;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdyzxy
2014-04-09 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3903万
展开全部
用绝对值函数可以使程序最简单:
#include<stdio.h>
#include<stdlib.h>
#define N 7
#define NUMBEROFSPACE abs(N/2-i) //根据i(行号)算空格的式子
#define NUMBEROFSTAR (N/2-abs(N/2-i))*2+1 //根据i(行号)算星号的式子
void main()
{ int i,j;
for ( i=0;i<N;i++ )
{ for ( j=0;j<NUMBEROFSPACE;j++ ) printf(" ");
for ( j=0;j<NUMBEROFSTAR;j++ ) printf("*");
printf("\n");
}
}
如果非要用c++:
将printf(" ");换成cout<<' ';
将pirntf("*");换成cout<<'*';
将printf("\n");换成cout<<endl;
程序前面加
#include<iostream>
using namespace std;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-04-08
展开全部
#include<stdio.h>
  
int main()
{
    int i,j,k;
    for(k=0;k<7;k++)
    {
        if(k>3) i=6-k;
        else i=k;
        for(j=0;j<(7-i)%4;j++) printf(" ");
        for(j=0;j<(i)%4;j++) printf("*");
        printf("*");
        for(j=0;j<(i)%4;j++) printf("*");
        for(j=0;j<(7-i)%4;j++) printf(" ");
        printf("\n");
    }
    return 0;
}
追问
C++可以吗?
追答
把输入输出改一下呗、
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式