我有这段代码,它询问用户一个范围并输出一个数字三角形。例如,如果输入 4,代码将执行以下操作:
1
121
12321
1234321
问题是代码的递减。我尝试过反转代码,但结果并不好,因为它输出了 1
。
代码:
#include <stdio.h>
main(){
int i,j,k,l,n;
printf("enter the range=");
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++) {
printf(" ");
}
for(k=1;k<=i;k++){
printf("%d",k);
}
for(l=i-1;l>=1;l--){
printf("%d",l);
}
printf("\n");
}
}
有什么函数或方法可以让我得到这样的输出吗?
1
121
12321
1234321
12321
121
1
最佳答案
您可以使用此代码,但我建议您了解此代码的工作原理
#include <stdio.h>
int main(){
int i,j,k,l,n,space;
printf("enter the range=");
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++) {
printf(" ");
}
for(k=1;k<=i;k++){
printf("%d",k);
}
for(l=i-1;l>=1;l--){
printf("%d",l);
}
printf("\n");
}
for(i=n-1;i>=1;i--)
{
for(j=1;j<=n-i;j++) {
printf(" ");
}
for(k=1;k<=i;k++){
printf("%d",k);
}
for(l=i-1;l>=1;l--){
printf("%d",l);
}
printf("\n");
}
}
关于c - 数字三角形的反转[c],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42976667/