作者ahongyeh (小叶子)
看板TransCSI
标题Re: [问题] 北大95
时间Tue May 29 16:44:20 2007
※ 引述《XrGodz (G_z*)》之铭言:
: 使用C或C++程式语言设计一个列印数字菱形的程式。
: 输入一个正整数N,将越大的数字摆在越外圈,依次向内递减,中央数字是1。
: EX:
: Input:3 Input:5
: Output: Output:
: 3 5
: 323 545
: 32123 54345
: 323 5432345
: 3 543212345
: 5432345
: 54345
: 545
: 5
: 下面是我写的...
: for(i-> 0 to 2n-1 )
: for(j-> n to 1)
: for(k-> 1 to j-1)
: print("△")
: for(l-> n to j)
: print("l")
: for(m-> j+1 to n)
: print("m")
: for(p-> 1 to n)
: for(q-> j-1 to 1)
: print("△")
: for(r-> n to p)
: print("r")
: for(s-> p+1 to n)
: print("s")
: 这样意思对吗?
: 如果把它改写成C
: 那for回圈要怎样表示?
我觉得你有些些地方怪怪的...
我把我的答案给你好了...
#include<stdio.h>
main(){
int n,i,j;
printf("Please input a number: ");
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++)
printf(" ");
for(j=n;j>n-i;j--)
printf("%d ",j);
for(++j;j<n;j++)
printf("%d ",j+1);
printf("\n");
}
for(i=n-1;i>=1;i--){
for(j=1;j<=n-i;j++)
printf(" ");
for(j=n;j>n-i;j--)
printf("%d ",j);
for(++j;j<n;j++)
printf("%d ",j+1);
printf("\n");
}
system("pause");
}
这是写好的执行档~~
http://w1.loxa.com.tw/ahong/knowledge/kn004.EXE
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.32.125.13