| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1094 人关注过本帖
标题:大一新生,有问题请教
只看楼主 加入收藏
JimmyZeng21
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:15
专家分:10
注 册:2011-11-1
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:16 
大一新生,有问题请教
在屏幕上编出一个菱形,菱形用*表示,共9行9列。
  
各位大侠,谁能帮忙编写一下这个图的代码。十分感谢。看了很久就是不懂写。
搜索更多相关主题的帖子: 大一新生 
2011-11-04 11:58
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:1 
程序代码:
#include <stdio.h>
#define IABSX(x) ( (x-i) >= 0 ? (x-i) : (i-x) )
#define IABSY(y) ( (y) >= 0 ? (y) : -(y) ) //定义一个计算绝对值的宏
void print(int size,int i)
{
    int x,y;
    for (y = -size; y <= size; y++)
    {
        for (x = -size-i; x <= size+i; x++)
        {
            if ( IABSX(x) + IABSY(y) <= size )
                putchar('*');
            else
                putchar(' ');
        }
        putchar('\n');
    }
}

int main()
{   int i,n,j=0;
    do
    {
    printf("请输入表演时间:\n");
    scanf("%d",&n);
    for(i=0;i<=n;i++)
    print(i,i);
    getchar();
    j++;
    }while(j<30);
    return 0;
}


2011-11-04 12:13
JimmyZeng21
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:15
专家分:10
注 册:2011-11-1
收藏
得分:0 
回复 2楼 heroinearth
不用那么多菱形,一个就够。况且有的我还没学到。帮我看一下这个错在 哪里好吗。
#include<stdio.h>

void main()
{
    int i,j,k;
    for(i=0;i<=4;i++)
    {
        for(j=0;j<=3-i;j++)
        printf(" ");
        for(k=0;k<=2*i;;k++)
        printf("*");
        printf("\n");
    }
    for(i=0;i<=3;i++)
    {
        for(j=0;j<=i;j++)
        printf(" ");
        for(k=0;k<=6-2*i;k++)
        printf("*");
        printf("\n");
    }
}
2011-11-04 12:38
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
收藏
得分:1 
程序代码:
#include <stdio.h>

void main()
{
    int i,j,k;
    for(i=0;i<=4;i++)
    {
        for(j=0;j<=3-i;j++)
        printf(" ");
        for(k=0;k<=2*i;k++)//多了一个分号
        printf("*");
        printf("\n");
    }
    for(i=0;i<=3;i++)
    {
        for(j=0;j<=i;j++)
        printf(" ");
        for(k=0;k<=6-2*i;k++)
        printf("*");
        printf("\n");
    }
} 

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2011-11-04 13:25
wuyijiang07
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:177
注 册:2011-10-21
收藏
得分:1 
四楼正解,不过二楼的程序很强大,很好

[ 本帖最后由 wuyijiang07 于 2011-11-4 14:37 编辑 ]
2011-11-04 14:35
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:1 
  我来写一个 ! 各位别喷我
程序代码:
#include <stdio.h>
int main()
{
    printf("    *\n");
    printf("   ***\n");
    printf("  *****\n");
    printf(" *******\n");
    printf("*********\n");
    printf(" *******\n");
    printf("  *****\n");
    printf("   ***\n");
    printf("    *\n");   
}

君生我未生 我生君以老
2011-11-04 14:46
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:1 
#include <stdio.h>

int sort(int n) //&Ccedil;ó&frac34;&oslash;&para;&Ocirc;&Ouml;&micro;&micro;&Auml;
{n>=0?n:-n;
return (n);
}                        
void main()
{int a,i,n,k;
printf("input a\n");//&Aacute;&acirc;&ETH;&Icirc;±&szlig;&sup3;¤
scanf("%d",&a);
for(k=-a;k<=a;k++)
for(n=-a;n<=a;n++)
{
               if(sort(n)+sort(k)==a)
               printf("*");
               else printf(" ");
}
  printf("\n");

}

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2011-11-04 15:25
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:0 
#include <stdio.h>
int sort(int n) //&Ccedil;ó&frac34;&oslash;&para;&Ocirc;&Ouml;&micro;&micro;&Auml;
{int k;
k=(n>=0?n:-n);
return (k);
}                        
void main()
{int a,i,n,k;
printf("input a\n");//&Aacute;&acirc;&ETH;&Icirc;±&szlig;&sup3;¤
scanf("%d",&a);
for(k=-a;k<=a;k++)
{for(n=-a;n<=a;n++)
{
               if(sort(n)+sort(k)==sort(a))
               printf("*");
               else printf(" ");
}
 printf("\n");
}
} 这个才对

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2011-11-04 15:36
luojie5683
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:69
专家分:49
注 册:2011-10-10
收藏
得分:1 
回复 3楼 JimmyZeng21
没错啊。
2011-11-04 19:46
Afah
Rank: 2
等 级:论坛游民
帖 子:40
专家分:70
注 册:2011-8-28
收藏
得分:1 
程序代码:
#include <stdio.h>
main()
{
    int i,j,N;
    scanf("%d",&N);
    for(i=1;i<=N;i++)      /*输出上半部分*/
    {
        for(j=1;j<=N-i;j++)
            printf(" ");          /*输出空格*/
        for(j=1;j<=2*i-1;j++)
            printf("*");
            printf("\n");
    }
    for(i=N-1;i>=1;i--)        /*输出下半部分*/
    {
        for(j=1;j<=N-i;j++)
            printf(" ");          /*输出空格*/
        for(j=1;j<=2*i-1;j++)
            printf("*");
            printf("\n");        
    }
}
2011-11-04 20:00
快速回复:大一新生,有问题请教
数据加载中...
 
   



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

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