北理工C语言编程网上作业答案,输出字符
时间:2026-01-23
时间:2026-01-23
18. 空心的倒三角型
成绩: 5 / 折扣: 0.8
背景:
请根据要求打印可空心倒三角形。
输入:
输入三角形的高度(h >= 0)。
输出:
打印相应的空心倒三角形。图样参见测试用例。
#include <stdio.h> main()
{
int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{for(j=0;j<(2*n-1-i);j++)
{if (i==0||i==j||j==(-i+2*n-2))printf("*");
else printf(" ");
}
printf("\n");
}
}
19. 空心字符菱形
成绩: 5 / 折扣: 0.8
输入:
菱型起始字母和菱形的高度。
输出:
参看测试用例,打印空心的由字符组成的菱形。
#include <stdio.h>
main()
{int n,i,j;char a;
scanf("%c %d",&a,&n);
for(i=1;i<=n;i++)
{for(j=1;j<=n+i-1;j++)
{if(j==n-i+1||j==n+i-1)
printf("%c",a+i-1);
else printf(" ");}
printf("\n");
}
for(i=n+1;i<=2*n-1;i++)
{for(j=1;j<=3*n-i-1;j++)
{if(j==i-n+1||j==3*n-i-1)
printf("%c",a+2*n-1-i);
else printf(" ");}
printf("\n");
}
}
20. 空心梯形
成绩: 5 / 折扣: 0.8
输入行数 n 和首数字字符,在屏幕上输出由数字围起的高和下底宽度均 n 的空心梯形。 要求:输出的数字是循环的,即输出数字 9 后再输出的数字是 0。
输入:
行数n 和首字符
输出:
空心梯形
#include <stdio.h>
#include <stdlib.h>
int a[50][150];
int n,m;
void f(int i,int m){
if(i==(3*n-1)/2&&(3*n-2)%2==1){
printf("%d",m);
a[n][i]=m;
return;
}
if(i==(3*n-2)/2&&(3*n-2)%2==0){
printf("%d %d",m,m);
a[n][i]=m;a[n][3*n-1-i]=m;
return;
}
if(i>=n){a[n][i]=m;a[n][3*n-1-i]=m;}
else
{a[i][i]=m;a[i][3*n-1-i]=m;}
printf("%d ",m);
f(i+1,(m+1)%10);
printf(" %d",m);
return;
}
int main(void){
for(int i=1;i<=50;i++)
for(int j=1;j<=150;j++)a[i][j]=-1;
scanf("%d%d",&n,&m);
f(1,m);
printf("\n");
for(int i=2;i<=n;i++){
for(int j=1;j<=3*n-2-i;j++)
if(a[i][j]!=-1)printf("%d ",a[i][j]);
else
printf(" ");
printf("%d\n",a[i][3*n-1-i]);
}
return 0;
}
25.输出字母围起的正方形
成绩: 10 / 折扣: 0.8
输入N*N图形正方形的边长N,图形左上角的字母,输出由字母围成的空心正方形。输出的字母是顺时针连续的,且是循环的,即输出字母'Z'后输出字母"A"。注意在两个字母之间有一个空格。
例如输入:
6 M
输出如下图形:
M N O P Q R
F S
E T
D U
C V
B A Z Y X W
#include <stdio.h>
main()
{int n,i,j;
char s,a,b,c,d;
scanf("%d %c",&n,&s);
if(n==1)printf("%c\n",s);
else{
printf("%c",s);
a=s+1;if(a>'Z')a='A';
for(i=1;i<n;i++)
{
printf(" %c",a);
a++; if(a>'Z')a='A'; }
printf("\n");
b=a;c=s+(4*n-4-1)%26;if(c>'Z')c=c-'Z'-1+'A';
for(i=1;i<=n-2;i++)
{printf("%c",c);c--;if(c<'A')c='Z';
for(j=1;j<=n-2;j++)
printf(" ");
printf(" %c",b);b++;if(b>'Z')b='A';
printf("\n");
} d=c;
printf("%c",d);
for(i=1;i<n;i++)
{d--;if(d<'A')d='Z'; printf(" %c",d); }
printf("\n");}
}
…… 此处隐藏:8字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:表内除法一 小学数学二年级下册