| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 362 人关注过本帖
标题:求助!关于输出等差序列的问题
只看楼主 加入收藏
瞎瞎瞎瞎起名
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-3-26
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:6 
求助!关于输出等差序列的问题
我是新手,想在c中第一行输一个*,第二行输两个*,以此类推,输入5行。代码思路是什么?
2015-03-26 17:00
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:2 
最笨的方法。直接打印
程序代码:
#include <stdio.h>
int main()
{
    printf("*\n");
    printf("**\n");
    printf("***\n");
    printf("****\n");
    printf("******\n");
    
    return 0;
}

授人以鱼,不如授人以渔
2015-03-26 17:25
瞎瞎瞎瞎起名
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-3-26
收藏
得分:0 
回复 2楼 执笔画江山
有没有不笨的方法呢==
2015-03-26 21:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:2 
程序代码:
#include <stdio.h>

int main(void)
{
    for (int i = 1; i <= 5; printf("%.*s\n", i++, "*****"));
    return 0;
}


我能想到的最简单的写法


[ 本帖最后由 zklhp 于 2015-3-26 21:56 编辑 ]
2015-03-26 21:54
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:2 
回复 3楼 瞎瞎瞎瞎起名
程序代码:
#include <stdio.h>

void foo(int n) {
    int t = n;

    while(t++ < 5) putchar('*');

    putchar('\n');

    if(n > 0) foo(n - 1);
}

int main(void) {
    foo(4);
    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2015-03-26 21:54
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
Python大法好

for i in xrange(1,6):
    print('*'*i)

2015-03-26 23:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:2 
回复 6楼 zklhp
C++ 也可以
程序代码:
#include <iostream>
#include <iomanip>
using namespace std;

int main( void )
{
    for( size_t i=0; i!=5; ++i )
        cout << setfill('*') << setw(i+2) << '\n';

    return 0;
}

顺便,我用C写了段混乱^_^代码
程序代码:
#include <stdio.h>
#include <math.h>

int main( void )
{
    const int n = 5; // 调整需要输出的行数
    for( int i=0; i!=((n-1)*(n+4)/2+2); ++i )
        putchar( '*' - ('*'-'\n')*(pow(floor(sqrt(17+8*i)),2)==17+8*i) );

    return 0;
}

2015-03-27 09:39
快速回复:求助!关于输出等差序列的问题
数据加载中...
 
   



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

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