标题:C语言编菱形,谢谢大家了~
只看楼主
heiwangzi309
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-10-7
 问题点数:0 回复次数:9 
C语言编菱形,谢谢大家了~
要求使用for循环,望讲解一下~~~
搜索更多相关主题的帖子: 菱形 C语言 
2009-11-04 23:17
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
得分:0 
控制输出n行
{控制每行输出i个空格
控制每行输出j个*号
输出一个回车}
找m456要code

我可好玩啦...不信你玩玩^_^
2009-11-04 23:20
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
得分:0 
#include "stdio.h"
int main(void)
{
int i, j, n;
n = 4;
for (i=1;i<=n;i++)
  {
   for (j=0;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 =0; j<n- i;j++)
    printf(" ");
   for (j = 1; j<=2*i-1;j++)
    printf("*");
   printf("\n");
  }
}

QQ群:96348241
2009-11-04 23:21
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
得分:0 
回复 3楼 xy4919961
转载请声明

我可好玩啦...不信你玩玩^_^
2009-11-04 23:22
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
得分:0 
#include<stdio.h>
void main()
{
 int n,j,k,l,i;
 printf("shu ru ji shu");
 scanf("%d",&l);
 for(n=1;n<=l/2+1;n++)
  {for(j=0;j<l/2+1-n;j++)
    printf(" ");
   for(k=1;k<=2*n-1;k++)
    printf("*");
   printf("\n");
  }
 for(i=l-n;i>=1;i--)
  {for(j=0;j<n-i;j++)
    printf(" ");
   for(k=1;k<=2*i-1;k++)
    printf("*");
   printf("\n");
  }
}


不知道我这程序错在哪里了,运行结果不是菱形了,帮帮忙!
2009-11-05 13:13
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
得分:0 
程序代码:
#include<stdio.h>
void main()
{
    int n,j,k,l,i;
    printf("shu ru ji shu\n");
    scanf("%d",&l);
    for(n=1;n<=l/2+1;n++)
    {
        for(j=0;j<l/2+1-n;j++)
            printf(" ");
        for(k=1;k<=2*n-1;k++)
            printf("*");
        printf("\n");
     }
    for(i=l-n+1;i>=1;i--)
     {
        for(j=0;j<n-i-1;j++)
            printf(" ");
        for(k=1;k<=2*i-1;k++)
            printf("*");
        printf("\n");
     }
}
2009-11-05 13:35
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
得分:0 
能讲解下为什么吗?
2009-11-05 13:46
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
得分:0 
LZ忽略的是,第一个大循环后的n的值,第一个大循环后 n = l/2+2,而不是n = 2/l+1;
第一个大循环是用来输出前面的2/l+1行的‘*’,就是说最后一次循环(输出中间最长的那行)时,n = 2/l+1,但循环后有个n++要执行···执行后····
LZ现在怎么看??
2009-11-05 14:13
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
得分:0 
明白

谢谢了
呵呵     忽略了      n++的赋值了

想了半天没想明白问题出哪里了        

谢谢
2009-11-05 14:24
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
得分:0 
LZ肯去思考,很不错,这些易出错的地方做多了以后就不会出错了··赞LZ一个···
2009-11-05 14:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-291071-1-1.html




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

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