P1
任务描述
编程输入正整数N(N<100),输出一个N阶下三角方阵,输出格式请参考样例。
输入格式:
一个正整数,小于100。
输出格式:
每个数占3列右对齐。
输入样例:
10
输出样例:
11 21 2 31 2 3 41 2 3 4 51 2 3 4 5 61 2 3 4 5 6 71 2 3 4 5 6 7 81 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9 10
Key:明白每3个空格为一个单元,并根据行数输出对应的单元空格和数字即可
#include <stdio.h>
int main(){
int N;
scanf("%d",&N);
for(int i=1;i<=N;i++){
for(int j=0;j<N-i;j++){
printf(" ");
}
//首先打印每行的空格 三个空格为一个单元
for(int k=1;k<=i;k++){
printf("%3d",k);
}
//根据第几行来打印数字
printf("\n");
}
return 0;
}
P2
任务描述
请编程输入一个奇数n(n<100)和一个字符c,输出n行由字符c组成的菱形图案。
#include <stdio.h>
int main(){
int n;
char c;
scanf("%d %c",&n,&c);
for(int i=1;i<=(n+1)/2;i++){
for(int j=1;j<=(n+1)/2-i;j++){
printf(" ");//找好空格与行数之间的关系
}
for(int k=1;k<=2*i-1;k++){
printf("%c",c);
}
printf("\n");
//上三角
}
for(int m=1;m<=(n-1)/2;m++){
for(int n=1;n<=m;n++){
printf(" ");
}
for(int p=n-2*m;p>0;p--){ // int p=n-2*m 数学关系简单明了
printf("%c",c);
}
printf("\n");
}
//下三角
return 0;
}
P3
任务描述
输入正整数N和字符C,输出(2*N-1)行如下规律的字符图形,例如当输入:“4 *”的时候,输出:****************************
输入格式:
若干行,每行一组数据,为一个整数和一个字符,之间仅有一个空格分隔。
输出格式:
按要求输出每组字符图形,每组输出之间有一个空行。
输入样例:
1 -2 +3 #4 %
输出样例:
-+++++#############%%%%%%%%%%%%%%%%%%%%%%%%%
#include <stdio.h>
int main() {
int N;
char C;
// 输入数据
while (scanf("%d %c", &N, &C) != EOF) {
// 打印上半部分
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= 2*i-1; j++) {
printf("%c", C);
}
printf("\n");
}
// 打印下半部分
for (int i = N-1; i >= 1; i--) {
for (int j = 1; j <= 2*i-1; j++) {
printf("%c", C);
}
printf("\n");
}
printf("\n"); // 输出格式要求的空行
}
return 0;
}


1万+

被折叠的 条评论
为什么被折叠?



