| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 440 人关注过本帖
标题:哪里错了
只看楼主 加入收藏
qq425643836
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2011-2-9
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:6 
哪里错了
程序代码:
main()
{
    int i,j,n,k,a[10][10];
    static a[][1]={{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}}  ;
    a[1][1]=1;
    for(k=2;k<11;k++)
    for(i=2;i<=k;i++)
    for(j=2;j<=i;j++)
    a[i][j]=a[i-1][j-1]+a[i-1][j];
    for(k=1;k<=11;k++)
    for(i=2;i<=k;i++)
    for(j=2;j<=i;j++)
    printf("%d",a[i][j]);
     getch();

}
这代码是要显示杨辉三角。要求是能输出10行就行
运行错误提示是 重定义a
请教一下static静态函数的具体作用
若把static拿掉,则显示语法错误,难道a数组的定义有问题吗
拿到static后,a数组改怎么定义。


[ 本帖最后由 qq425643836 于 2011-2-15 21:07 编辑 ]
搜索更多相关主题的帖子: color 
2011-02-15 21:01
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
收藏
得分:1 
#include <stdio.h>
#include <conio.h>
#define N 11
void main()
{
    int a[N][N],i,j,m;
    for(i=1;i<N;i++)
    {
        a[i][i]=1;
        a[i][1]=1;
    }
       for(i=3;i<N;i++)
       for(j=2;j<=i-1;j++)
        a[i][j]=a[i-1][j-1]+a[i-1][j];
         for(i=1;i<N;i++)
    {
        for(m=20;m>=2*i;m--)
        printf(" ");
        for(j=1;j<=i;j++)
        printf("%4d",a[i][j]);
        printf("\n");
    }

       for(i=N-2;i>=1;i--)
    {
        for(m=2*i;m<=20;m++)
        printf(" ");
        for(j=i;j>=1;j--)
        printf("%4d",a[i][j]);
        printf("\n");
    }
  getch();
}
2011-02-15 21:03
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
你的错误太多,容我细细说来

免费赠送河蟹一只
2011-02-15 21:04
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:4 
#include<stdio.h>
#define MAX 10
void YHSJ(int array[MAX][MAX],int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        array[i][0]=1;
        array[i][i]=1;
    }
    for(i=2;i<n;i++)
        for(j=1;j<i;j++)
            array[i][j]=array[i-1][j-1]+array[i-1][j];
    for(i=0;i<n;i++)
    {
        for(j=1;j<n-i;j++)
            printf(" ");
        for(j=0;j<=i;j++)
            printf(" %d",array[i][j]);
        printf("\n");
    }
}
main()
{
    int array[MAX][MAX];
    int n;
    scanf("%d",&n);
    YHSJ(array,n);
    return 0;
}自己写的

免费赠送河蟹一只
2011-02-15 21:05
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
static a[][10]={...}这个没必要
for(k=2;k<11;k++)数组越界(你的数组是从a[0][0]~a[9][9]的)
杨辉三角不是说只有a[1][1]是1
整体的输出思路不对
最后注意你的程序格式,好的格式会帮助你的

免费赠送河蟹一只
2011-02-15 21:14
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用pcbaichi在2011-2-15 21:05:51的发言:

#include<stdio.h>
#define MAX 10
void YHSJ(int array[MAX][MAX],int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        array[0]=1;
        array=1;
    }
    for(i=2;i<n;i++)
        for(j=1;j<i;j++)
            array[j]=array[j-1]+array[j];
    for(i=0;i<n;i++)
    {
        for(j=1;j<n-i;j++)
            printf(" ");
        for(j=0;j<=i;j++)
            printf(" %d",array[j]);
        printf("\n");
    }
}
main()
{
    int array[MAX][MAX];
    int n;
    scanf("%d",&n);
    YHSJ(array,n);
    return 0;
}自己写的

漂亮~~~~,编程风格顶呱呱·~~
收到的鲜花
  • pcbaichi2011-02-15 21:22 送鲜花  1朵   附言:其实我也是菜鸟

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-02-15 21:16
CCFzeroOH
Rank: 2
等 级:论坛游民
帖 子:79
专家分:85
注 册:2009-12-22
收藏
得分:0 
当定义static变量时,别的文件不能通过extern访问这个变量
static静态变量c中其实不怎么用,主要用在c++中

lz的代码可以参照楼上的
2011-02-16 09:14
快速回复:哪里错了
数据加载中...
 
   



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

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