susan-12242003 发表于 2010-8-5 09:44:18

学了2天的C语言,编的一个输出*的程序,请大家多多指导

#include <math.h>
#include <stdio.h>

int print_stars(int num);
int print_spaces(int num);

int main()
{
    int i, j;
    int n, m;

begin:
    printf("input:\n");
    scanf("%d", &n); //n = 5
    if (n < 0 || n % 2 == 0)
    {
          printf("error, exit\n");
          return -1;         
    }
    getchar();

    for (i = 1; i <= (n + 1) / 2; i++)
    {
      print_spaces((n + 1) / 2 - i);
      print_stars(i);
    }

    for (i = (n + 1) / 2 - 1; i >= 1; i--)
    {
      print_spaces((n + 1) / 2 - i);
      print_stars(i);
    }
   
    getchar();
    goto begin;
}

int print_stars(int num)
{
    int i;
    for (i=1; i<=num; i++)
    {
      printf("* ");
    }
    printf("\n");
}

int print_spaces(int num)
{
    int i;
    for (i=1; i<=num; i++)
    {
      printf(" ");
    }
}

a284835492 发表于 2012-4-1 15:36:46

还不太懂~~刚又学开始学C!!

xuehai111111 发表于 2012-4-1 21:53:17

什么问题啊?你实现的功能是啥,谁有时候在研究你这个啊,直接说做的过程中遇到的问题,或者你是想问你的程序是最优的吗,还是想干嘛????

泡芙拓 发表于 2012-4-2 15:53:32

回复 3# xuehai111111


    楼上正解

laura754739654 发表于 2012-4-4 14:29:33

额。。真够厉害的。才学两天就弄这么长的。。。

wilber.shinobi 发表于 2012-4-4 15:00:46

用goto,程序不稳定的.

gutifeng 发表于 2012-4-5 17:03:11

看的c语言书真够老的
页: [1]
查看完整版本: 学了2天的C语言,编的一个输出*的程序,请大家多多指导