| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3250 人关注过本帖
标题:输入一个数,输出对应几层杨辉三角
只看楼主 加入收藏
kolnick
Rank: 2
等 级:论坛游民
帖 子:24
专家分:13
注 册:2009-6-24
结帖率:100%
收藏
 问题点数:0 回复次数:4 
输入一个数,输出对应几层杨辉三角
Problem Description
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输出所有在m和n范围内的水仙花数。
 

Input
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
 

Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。
 

Sample Input
100 120
300 380
 

Sample Output
no
370 371



#include"stdio.h"
int  a[100][100],i,j;
main()
{
 long s,n;
  while(scanf("%d",&n)!=EOF)
  {
     if(n>=1&&n<=30)
     {
     
     for(i=0;i<=n;i++)
      {
       a[i][0]=1;
       a[i][i]=1;
      }
        for(i=2;i<n;i++)
         {
          for(j=1;j<i;i++)
           {
             a[i][j]=a[i-1][j]+a[i-1][j-1];
           }
         }
  for(i=0;i<n;i++)
  {
   for(j=0;j<=i;j++)
    printf("%d ",a[i][j]);
     printf("\n");
  }
  printf("\n");
 }
}
}




我输入4以上的数就内存出错了 。唉,谁能帮我解决这个问题

[ 本帖最后由 kolnick 于 2010-11-28 12:22 编辑 ]
搜索更多相关主题的帖子: 杨辉三角 输出 输入 
2010-11-25 22:01
shenhua2050
Rank: 2
等 级:论坛游民
帖 子:39
专家分:14
注 册:2010-11-23
收藏
得分:0 
#include"stdio.h"
#define N 100
int a[N][N],n,i,j;
main()
{
    puts("Please input number");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        a[i][0]=a[i][i]=1;    //两头的1
    }
    for(i=2;i<n;i++)//计算中间的数字
        for(j=1;j<n-1;j++)
        {
            {
                a[i][j]=a[i-1][j]+a[i-1][j-1];
            }
        }
        for(i=0;i<n;i++)//输出数组
        {
            for(j=0;j<=i;j++)
            {
                printf("%d",a[i][j]);
            }
            printf("\n");//换行
        }
}


自己编的 呵呵
2010-11-26 10:02
shenhua2050
Rank: 2
等 级:论坛游民
帖 子:39
专家分:14
注 册:2010-11-23
收藏
得分:0 
数组放在main函数之前定义,输出没问题了!一般数组可以在main()函数里面定义的,但这里出错了,我也不知道原因,谁知道的指导一下!!!谢了
1
2010-11-26 10:36
kolnick
Rank: 2
等 级:论坛游民
帖 子:24
专家分:13
注 册:2009-6-24
收藏
得分:0 
这样我提交后还是错的。。我把题目给你看一下
2010-11-28 12:21
小煜
Rank: 2
来 自:广东汕头
等 级:论坛游民
帖 子:5
专家分:10
注 册:2010-12-1
收藏
得分:0 
#include  <stdio.h>
int main(void)
{
int i,j,n=0,a[11][11]={0};
   scanf("%d",&n);
    for(i=0;i<11;i++)
    a[i][0]=1;      /*第一列全置为一*/
  for(i=1;i<11;i++)
    for(j=1;j<=i;j++)
      a[i][j]=a[i-1][j-1]+a[i-1][j];/*每个数是上面两数之和*/
  for(i=n;i<n+1;i++)   /*输出n行杨辉三角的数字*/
  { for(j=0;j<=i;j++)
      printf("%5d",a[i][j]);
    printf("\n");
  }
}
2010-12-01 19:41
快速回复:输入一个数,输出对应几层杨辉三角
数据加载中...
 
   



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

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