| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:各位高手,帮忙改一下,一个菱形
只看楼主 加入收藏
huting0501
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-2-12
结帖率:100%
收藏
 问题点数:0 回复次数:5 
各位高手,帮忙改一下,一个菱形
程序代码:
#include<iostream>
#include<string>
using namespace std;
void main()
{
    int n;
    char c;
    cout<<"请输入n,n一定要为奇数";
        cin>>n;
    while(n%2==0)
    {
        cout<<"输入错误,请重新输入n:";
            cin>>n;
    }
    for(int i=1;i<=n;++i)
        cout<<string(n-i,' ')+string(2*i-1,'c')+"\n";
    for(int i=1;i<=n-1;++i)
        cout<<string(i,' ')+string(2*n-1-2*i,'c')+"\n";
   
}
搜索更多相关主题的帖子: color 
2011-03-20 22:56
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:0 
改什么?改错?还是优化?

改错,好像是没错,我这用 TC 因为没有 sctring 所以查了百度string的功能,然后改循环,然后套用你的公式,正确。

优化我是不会
2011-03-21 03:02
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:0 
今天终于装上了 VC6.0

才发现真的有错,

首先 char c; 这个c后面没看见用到,如果没用的话,这句可以删了。
然后 第二个 for 循环 里 i重复定义了,以前我也碰到过。
一种方法是,第二个循环用其它变量 比如 int j=0;
还有一种方法是 把 i 定义在两个循环的外面(最前面)。
2011-03-21 18:01
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
收藏
得分:0 
#include<iostream>
#include<string>

using namespace std;
int main()
{
    int n,i,j;

    cout<<"请输入n,n=";
        cin>>n;
    while(n%2==0)
    {
        n+=1;
    }
    for(i=1;i<=n;++i)
        cout<<string(n-i,' ')+string(2*i-1,'c')+"\n";
    for(j=1;j<=n-1;++j)
        cout<<string(j,' ')+string(2*n-1-2*j,'c')+"\n";
    return 0;
}
2011-03-21 23:56
紫凤双飞
Rank: 2
等 级:论坛游民
帖 子:76
专家分:61
注 册:2011-3-26
收藏
得分:0 
只要将char c和第二个for循环中的int去掉即可
2011-03-27 00:35
Ben2212
Rank: 2
来 自:AHU
等 级:论坛游民
帖 子:12
专家分:75
注 册:2011-3-30
收藏
得分:0 
LS正解,你的i重复定义了……
2011-03-31 16:28
快速回复:各位高手,帮忙改一下,一个菱形
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015241 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved