題目:請(qǐng)輸出以下楊輝三角(要求輸出前10行)
列:
1 1 ? ?1 1 ? ?2 ? ?1 1 ? ?3 ? ?3 ? ?1 1 ? ?4 ? ?6 ? ?4 ? ?1 1 ? ?5 ? ?10 ?10 ? 5 ? 1 ......
題解析:不了解楊輝三角的可以百度看一下,大概是這樣的,咱們就可以解答了。
代碼如下:
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
int yh[10][10] = { 0 };
yh[0][0] = 1;
yh[1][0] = 1;
yh[1][1] = 1;
// i = 行 j = 列
for (i = 2; i < 10; i++)
{
for (j = 0; j <= i; j++)
{
if (j == 0 || j == i)
{
yh[i][j] = 1;
}
else
{ // i 取行 j 取列
// yh[i-1] [j-1]
// i = 2; j = 1;
// yh[i][j] = [1,0] + [1,1] = yh[i-1][j-1] + yh[i-1][j]
// yh[i][j] = [i][j] == [1,0] + [1,1] 下標(biāo)里的值相加得出
yh[i][j] = yh[i-1][j-1] + yh[i-1][j];
}
}
}
for (i = 0; i < 10; i++)
{
j = 10 - i;
while (j--)
{
printf(" "); // 打印菱形
}
for (j = 0; j <= i; j++)
{
printf("%8d", yh[i][j]);
}
printf("\n");
}
return 0;
}
運(yùn)行結(jié)果:
?題目解析:使用數(shù)組嘛,二維數(shù)組進(jìn)行計(jì)算,從0開(kāi)始的嘛,然后值就是上組的值相加得出的嘛,由此就可得出答案了。
例如:
[ i , j ] = [ 1 , 0 ]+[ 1 , 1 ]
得出 [ 2?,?1 ] 的數(shù)值
需要得到( 3 , 1 )的數(shù)值?
就是 [ i , j ] = [ 2 , 0 ] + [ 2 , 1 ]
依此類(lèi)推,就能得到后續(xù)的了。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-610975.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-610975.html
到了這里,關(guān)于C語(yǔ)言每天一練:輸出楊輝三角的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!