P100 输出倒三角形图案
#include <stdio.h> #define MAX_LEN 10 #define N 150 #include<string.h> #include<stdlib.h> #include <stdio.h> int main() { int n, i, j; scanf("%d", &n); /*从键盘读取需要打印的行数*/ for (i = 1; i <= n; i++) /*一共打印n行*/ { for (j = 1; j < i; j++) /*第i行打印‘*’号之前需要先输出(i-1)个空格*/ { printf(" "); } for (j = 1; j <= 2*(n-i) + 1; j++) /*第i行一共输出 2*(n-i)+1个‘*’号*/ { printf("*"); } printf("\n"); /*第i行输出完毕,准备下一行的输出*/ } return 0; }
本质上仍然是一个大循环包两个小循环,一个管空格,一个管星星。
CP1043. 杨辉三角第n行的偶数个数
俺的做法:
首先,我先编了了个杨辉三角打印代码看看
#include <stdio.h>
#define MAX_LEN 10
#define N 150
#include<string.h>
#include<stdlib.h>
int main()
{
int i, j, n = 0;
//首先定义二维数组计数符号i,j 还有杨辉三角行数的初始化
int a[100][100] = { 0 };
//二维数组大小可自定,但切记不可使其超过整形数组的大小
while (n < 1 || n >100)
//在输入的值不正确时自动初始化问题,重新输入
{
printf("请输入要打印的杨辉三角行数>:");
scanf("%d", &n);
}
for (i = 0; i < n; i++)
a[i][0] = 1;
//每一行第一个为1,用第一个for循环的输入
for (i = 1; i < n; i++)//第一层循环i决定第几行
for (j = 1; j <= i; j++)//第二层循环借用i限制每行字符数目
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
for (i = 0; i < n; i++)//一个for循环逐行打印叫a的二维数组
{
for (j = 0; j <= i; j++)
printf("%5d", a[i][j]);
printf("\n");
}
return 0;
}
接着就是狠狠的解:
#include <stdio.h>
#define MAX_LEN 10
#define N 150
#include<string.h>
#include<stdlib.h>
int main()
{
int i, j, n = 0;
int count=0;
int a[100][100] = { 0 };
while (n < 1 || n >100)
{
scanf("%d", &n);
}
for (i = 0; i < n+1; i++)
a[i][0] = 1;
for (i = 1; i < n+1; i++)
for (j = 1; j <= i; j++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
for (j = 1; j <= i; j++)
{
if(a[i-1][j-1]%2==0)//这里有点小偷懒
{
count++;
}
}
printf("%d\n",count);
return 0;
}
标签:int,破防,++,杨辉三角,今日,100,include,define From: https://www.cnblogs.com/harumakigohan686/p/17023608.html