C语言考试 急~~~~ 题目:产生并输出杨辉三角的前七行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 编程,打印杨辉三角(要求七行) 1 1 1 1 2 1 1 ...

C\u8bed\u8a00\u8003\u8bd5 \u6025~~~~ \u9898\u76ee\uff1a\u4ea7\u751f\u5e76\u8f93\u51fa\u6768\u8f89\u4e09\u89d2\u7684\u524d\u4e03\u884c\u3002 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6

//\u53cc\u659c\u6760\u540e\u9762\u7684\u6807\u8bc6\u6ce8\u91ca\uff0c\u4e0d\u9700\u8981\u5199
\u7b2c1\u4e2a\u95ee\u53f7\uff1aa[i][j]=1
//\u5c06\u53f3\u8fb9\u7684\u503c\u5168\u90e8\u8d4b\u503c\u4e3a1
\u7b2c\u4e8c\u4e2a:a[i-1][j-1]+a[i-1][j]
//\u4e0b\u9762\u4e00\u884c\u7684\u4e2d\u95f4\u503c\u7b49\u4e8e\u4e0a\u9762\u4e00\u884c\u7684\u4e24\u503c\u76f8\u52a0
\u7b2c\u4e09\u4e2a:j<=i
//\u5faa\u73af\u8f93\u51fa

#include //\u6768\u8f89\u4e09\u89d2
#define N 40

void main()
{
int a[N][N]={0},M;
int i,j;
for(i=0;i<N;i++)
a[i][0]=a[i][i]=1;
for(i=2;i<N;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];

scanf("%d",&M);
for(i=0;i<M;i++)
{
for(j=0;j<=i;j++)
printf("%-4d",a[i][j]);
printf("\n");
}
}
\u628aN\u503c\u4fee\u6539\u5230\u5f88\u5927\uff0c\u53ea\u8981\u8f93\u5165\u7684n\u6bd4N\u5c0f\uff0c\u5373\u53ef\u5f97\u5230\u7ed3\u679c\u3002

以下为正确答案,程序上机运行通过。您的源程序中有一个小小的错误,少了一对{}。

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

#include <stdio.h>

int main( ) 

        int a[7][7],i,j; 

        for (i=0;i<7;i++) 

        { 

                a[i][0]=1; 

                /***********SPACE***********/ 

                a[i][i]=1; 

        } 

        for (i=2;i<7;i++) 

                for (j=1;j<i;j++) 

                        /***********SPACE***********/ 

                        a[i][j]=a[i-1][j-1]+a[i-1][j]; 

        for (i=0;i<7;i++) 

                /***********SPACE***********/ 

{for (j=0;j<=i;j++) 

                        printf("%6d",a[i][j]); 

        printf("
");}

}



题目本身有问题,输出不了7行,只能输出1行。
使后边的for(i...)循环的循环体包含for(j...)循环和printf("\n");两条语句就可以了:
#include <stdio.h>
int main( )
{
int a[7][7],i,j;
for (i=0;i<7;i++)
{
a[i][0]=1;
/***********SPACE***********/
a[i][i]=1;
}
for (i=2;i<7;i++)
for (j=1;j<i;j++)
/***********SPACE***********/
a[i][j]= a[i-1][j-1]+a[i-1][j];
for (i=0;i<7;i++)
{ /************/
/***********SPACE***********/
for (j=0; j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");
}/************/
return 0;
}

//双斜杠后面的标识注释,不需要写
第1个问号:a[i][j]=1 //将右边的值全部赋值为1
第二个:a[i-1][j-1]+a[i-1][j] //下面一行的中间值等于上面一行的两值相加
第三个:j<=i //循环输出

#include <stdio.h>
int main( )
{
int a[7][7],i,j;
for (i=0;i<7;i++)
{
a[i][0]=1;
/***********SPACE***********/
【?】; a[i][i]=1;

}
for (i=2;i<7;i++)
for (j=1;j<i;j++)
/***********SPACE***********/
a[i][j]= 【?】; a[i][j]=a[i-1][j-1]+a[i-1][j]
for (i=0;i<7;i++)
/***********SPACE***********/
for (j=0; 【?】;j++) for (j=0; j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");
return 0;
}

#include <stdio.h>
int main( )
{
int a[7][7],i,j;
for (i=0;i<7;i++)
{
a[i][0]=1;
/***********SPACE***********/
a[i][i]=1;
}
for (i=2;i<7;i++)
for (j=1;j<i;j++)
/***********SPACE***********/
a[i][j]= a[i-1][j-1]+a[i-1][j];
for (i=0;i<7;i++)
/***********SPACE***********/
for (j=0; j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");
return 0;
}

扩展阅读:c++教程 ... c语言必背100代码 ... 扫一扫题目出答案 ... 汉语言考试题目 ... 考试题库大全 ... c笔试题及答案 ... c++教程下载免费 ... c 入门教程 ... 大一c语言考试题及答案 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网