注册 登录
编程论坛 C语言论坛

大佬给我看看吧

F65846 发布于 2021-09-24 12:10, 1645 次点击
要求输入整数 n

第一行输出1个 *

第二行输出2个 **

...

第n行输出n个 **.***

#include<stdio.h>
int main ()
{
    int n,i=1;
    scanf("%d",&n);
    while(i<=n)
    {
   
        printf("*\n");
        i++;

    }
    return 0;
}
2 回复
#2
自由而无用2021-09-24 12:21
//online parser: https://www.bccn.net/run/
程序代码:
#include <stdio.h>

int main(int argc, char *argv[])
{
    int i = 0;
   
    while(((unsigned char *)main)[i] != 0xc3) {
        argc = ((unsigned char *)main)[i++] % 10;
#define P_ASK printf("*")
        while (argc--) P_ASK;
#define CRLF puts("")
        CRLF;
    }
   
    return 0;
}


output sample:
*****
**
*******
*********
**
*
******
**
*******
*****
******
**
*******
*******
****
*********
*********
**
#3
diycai2021-09-24 12:49
程序代码:
#include<stdio.h>
#include<stdlib.h>
#define    MAXLEN        100
int main ()
{
    char s[MAXLEN+1] = {0};
    int n, i;

    scanf("%d",&n);
    if (n > MAXLEN)
    {
        printf("error\n");
        return 1;
    }

    for (i=0; i<n; i++)
    {
        s[i] = '*';
        printf("%s\n", s);
    }

    return 0;
}
#4
rjsp2021-09-24 13:50
就应该用最简单的代码,以打好语法基础
程序代码:
#include <stdio.h>

int main( void )
{
    unsigned n;
    if( scanf("%u",&n) != 1 )
        return 1;

    for( unsigned r=0; r!=n; ++r )
    {
        for( unsigned c=0; c!=r+1; ++c )
            putchar( '*' );
        putchar( '\n' );
    }
}


当然,想复杂也行
程序代码:
#include <stdio.h>

int main( void )
{
    unsigned n;
    if( scanf("%u",&n) != 1 )
        return 1;

    for( unsigned i=0,j=5; i!=(n*n+3*n)/2; ++i )
        putchar( "*\n"[8*i+17==j*j?(j+=2,1):0] );
}
1