| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 626 人关注过本帖
标题:我实在想不明白这个怎么编。。很简单的题。。
只看楼主 加入收藏
宅云云丶
Rank: 2
等 级:论坛游民
帖 子:71
专家分:11
注 册:2011-10-25
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:9 
我实在想不明白这个怎么编。。很简单的题。。
我总觉得要用数组!!
但是我知道数组不行。。
主要麻烦是用n控制大小。
我试了试for语句 但是空格 星星怎么换行。。我有点蒙。。谢谢老师们了。。。
下面是题目:
使用循环和“*”打印4种实心直角三角形和空心菱形,图形大小通过输入n来控制。
测试用例:
输入5,输出
*
**
***
****
*****

*****
****
***
**
*

     *
    **
   ***
  ****
 *****

 *****
  ****
   ***
    **
     *

     *
    * *
   *   *
  *     *
 *       *
  *     *
   *   *
    * *
     *



[ 本帖最后由 宅云云丶 于 2011-10-31 19:54 编辑 ]
搜索更多相关主题的帖子: 测试 图形 三角形 
2011-10-31 19:52
lg888
Rank: 2
等 级:论坛游民
帖 子:13
专家分:46
注 册:2010-6-10
收藏
得分:5 
#include <stdio.h>
void main()
{
    int n,i,j;
    printf("请输入n:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)
            printf("*");
        printf("\n");
    }

}

其中一种,其它类似!
2011-10-31 20:34
宅云云丶
Rank: 2
等 级:论坛游民
帖 子:71
专家分:11
注 册:2011-10-25
收藏
得分:0 
回复 2楼 lg888
为什么不是int main。
2011-10-31 21:02
lg888
Rank: 2
等 级:论坛游民
帖 子:13
专家分:46
注 册:2010-6-10
收藏
得分:7 
#include <stdio.h>
void main()
{
    int n,i,j,m;
    printf("请输入n:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)
            printf("*");
        printf("\n");
    }
    printf("\n");
    printf("\n");
    for(i=0;i<n;i++)
    {
        for(j=n;j>i;j--)
            printf("*");
        printf("\n");
    }
    printf("\n");
    printf("\n");
    for(i=0;i<n;i++)
    {
        for(m=n-i;m>0;m--)
            printf(" ");
        for(j=0;j<=i;j++)
            printf("*");
        printf("\n");
    }
    printf("\n");
    printf("\n");
    for(i=0;i<n;i++)
    {
        for(j=n-i;j>0;j--)
            printf("*");
        for(j=0;j<=i;j++)
            printf(" ");
        printf("\n");
    }
    printf("\n");
    printf("\n");
    for(i=0;i<n;i++)
    {
        for(j=n-i;j>0;j--)
            printf(" ");
        printf("*");
        if(i!=0)
        {
        for(j=0;j<i*2;j++)
            printf(" ");
        printf("*");
        }
        printf("\n");
    }
    for(i=n-1;i>=0;i--)
    {
        for(j=n-i;j>0;j--)
            printf(" ");
        printf("*");
        if(i!=0)
        {
        for(j=0;j<i*2;j++)
            printf(" ");
        printf("*");
        }
        printf("\n");
    }
}
2011-10-31 21:07
lg888
Rank: 2
等 级:论坛游民
帖 子:13
专家分:46
注 册:2010-6-10
收藏
得分:0 
回复 2楼 lg888
这个何必纠结呢?对结果没影响
2011-10-31 21:08
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:8 
程序代码:
#include<stdio.h>
void show1(int n)
{
    int i, j;
    for(i = 0; i < n; i++, putchar('\n'))
    for(j = 0; j <= i; j++, putchar('*'));
}
void show2(int n)
{
    int i, j;
    for(i = n; i; i--, putchar('\n'))
    for(j = 0; j < i; j++, putchar('*'));
}
void show3(int n)
{
    int i, j;
    for(i = n; i; i--, putchar('\n'))
    for(j = 1; j <= n; putchar((i > j++) ? ' ' : '*'));
}
void show4(int n)
{
    int i, j;
    for(i = 0; i < n; i++, putchar('\n'))
    for(j = 0; j < n; putchar((i > j++) ? ' ' : '*'));
}
void show5(int n)
{
    int i, j;
    for(i = 1; i <= n; i++, putchar('\n'))
    for(j = 0; j < n + i; putchar(((j == n - i) || (j == n + i - 2)) ? '*' : ' '), j++);
    for(i = n - 1; i; i--, putchar('\n'))
    for(j = 0; j <= n + i - 1; putchar(((j == n - i) || (j == n + i - 2)) ? '*' : ' '), j++);
}
void (* show[])(int) = {show1, show2, show3, show4, show5};
int main()
{
    int n, i;
    scanf("%d", &n);
    for(i = 0; i < 5; i++, putchar('\n'))
        show[i](n);
    return 0;
}

重剑无锋,大巧不工
2011-10-31 21:24
幻影逍遥
Rank: 2
等 级:论坛游民
帖 子:23
专家分:24
注 册:2011-10-31
收藏
得分:0 
第一个图
#include "stdio.h"
void main()
{
    int i,j,k;
    for(i=1;i<=5;i++)
    {
        for(j=i;j<5;j++)
        printf(" ");
        printf("*");
        if(i>1)
        {
            for(k=2*i-3;k>0;k--)
            printf(" ");
            printf("*");
        }
        printf("\n");
    }
     for(i=4;i>0;i--)
    {
        for(j=i;j<5;j++)
        printf(" ");
        printf("*");
        if(i>1)
        {
            for(k=2*i-3;k>0;k--)
            printf(" ");
            printf("*");
        }
        printf("\n");
    }
}
第三个图
#include "stdio.h"
void main()
{
    int i,j,k;
    for(i=1;i<=5;i++)
    {
        for(j=i;j<5;j++)
        printf(" ");
        printf("*");
        if(i>1)
        {
            for(k=2*i-3;k>0;k--)
            printf(" ");
            printf("*");
        }
        printf("\n");
    }
     for(i=4;i>0;i--)
    {
        for(j=i;j<5;j++)
        printf(" ");
        printf("*");
        if(i>1)
        {
            for(k=2*i-3;k>0;k--)
            printf(" ");
            printf("*");
        }
        printf("\n");
    }
}
第二个懒得看了。嘿嘿。
2011-10-31 22:23
宅云云丶
Rank: 2
等 级:论坛游民
帖 子:71
专家分:11
注 册:2011-10-25
收藏
得分:0 
回复 7楼 幻影逍遥
谢谢
2011-11-01 23:56
宅云云丶
Rank: 2
等 级:论坛游民
帖 子:71
专家分:11
注 册:2011-10-25
收藏
得分:0 
回复 6楼 beyondyf
void show4(int n)
{
    int i, j;
    for(i = 0; i < n; i++, putchar('\n'))
    for(j = 0; j < n; putchar((i > j++) ? ' ' : '*'));
}
这个能改成for语句么?
我改成这样了,但是是死循环。。。
#include <stdio.h>
int main()
{
    int n,i,j;
    printf("请输入n:");
    scanf("%d",&n);
    for(i = n; i; i--)
    {
        printf("\n");
        for(j = 1; j <= n; j++)
        for(j=j++;j<i;)
            printf(" ");
        printf("*");
    }
        return 0;
}

2011-11-02 18:02
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:0 
6楼的程序很优雅~~~

君生我未生 我生君以老
2011-11-02 18:04
快速回复:我实在想不明白这个怎么编。。很简单的题。。
数据加载中...
 
   



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

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