九度OJ
題目1065:輸出梯形
時間限制:1 秒 內存限制:32 兆 特殊判題:否 提交:377 解決:183
題目描述:
輸入一個高度h,輸出一個高爲h,上底邊爲h的梯形。
輸入:
一個整數h(1<=h<=1000)。
輸出:
h所對應的梯形。
樣例輸入:
4
樣例輸出:
****
******
********
**********
提示:
梯形每行都是右對齊的,sample中是界面顯示問題
九度OJ 題目1066:字符串排序
時間限制:1 秒 內存限制:32 兆 特殊判題:否 提交:545 解決:212
題目描述:
輸入一個長度不超過20的字符串,對所輸入的字符串,按照ASCII碼的大小從小到大進行排序,請輸出排序後的結果
輸入:
一個字符串,其長度n<=20
輸出:
輸入樣例可能有多組,對於每組測試樣例,
按照ASCII碼的大小對輸入的字符串從小到大進行排序,輸出排序後的結果
樣例輸入:
dcba
樣例輸出:
abcd
九度OJ 題目1067:n的階乘
時間限制:1 秒 內存限制:32 兆 特殊判題:否 提交:712 解決:252
題目描述:
輸入一個整數n,輸出n的階乘
輸入:
一個整數n(1<=n<=20)
輸出:
n的階乘
樣例輸入:
3
樣例輸出:
6
時間限制:1 秒 內存限制:32 兆 特殊判題:否 提交:377 解決:183
題目描述:
輸入一個高度h,輸出一個高爲h,上底邊爲h的梯形。
輸入:
一個整數h(1<=h<=1000)。
輸出:
h所對應的梯形。
樣例輸入:
4
樣例輸出:
****
******
********
**********
提示:
梯形每行都是右對齊的,sample中是界面顯示問題
//清華2001:題目1065:輸出梯形
//輸入一個高度h,輸出一個高爲h,上底邊爲h的梯形。
//題目沒說是多組數據啊 該死 WA*n...
//#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int i, j, k, h, bottom;
while( cin >> h ){
bottom = h + 2*(h-1); //bottom爲底邊*的個數
//ofstream out("THU_1065_output.cpp");
for( i=0; i<h; i++ ){
for( j=0; j<bottom-h-2*i; j++ )
cout << " ";
for( k=0; k<h+2*i; k++ ){
cout << "*";
if( k==h-1+2*i )
cout << endl;
}
}
}
return 0;
}
九度OJ 題目1066:字符串排序
時間限制:1 秒 內存限制:32 兆 特殊判題:否 提交:545 解決:212
題目描述:
輸入一個長度不超過20的字符串,對所輸入的字符串,按照ASCII碼的大小從小到大進行排序,請輸出排序後的結果
輸入:
一個字符串,其長度n<=20
輸出:
輸入樣例可能有多組,對於每組測試樣例,
按照ASCII碼的大小對輸入的字符串從小到大進行排序,輸出排序後的結果
樣例輸入:
dcba
樣例輸出:
abcd
//清華2001:題目1066:字符串排序
//輸入一個長度不超過20的字符串(輸入樣例可能有多組)
//對所輸入的字符串 按照ASCII碼的大小從小到大進行排序,請輸出排序後的結果
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdio>
using namespace std;
struct LETTER{
char a;
int b;
};
LETTER l[20];
bool cmp( LETTER x, LETTER y ){
return x.b < y.b;
};
int main()
{
int i, j, k, n, length;
char s[20];
while ( scanf("%s",s)!=EOF ){
length = strlen(s);
for( i=0; i<length; i++ ){
l[i].a = s[i];
l[i].b = l[i].a;
}
sort( l, l+length, cmp );
for( i=0; i<length; i++ ){
printf("%c",l[i].a);
}
printf("\n");
}
return 0;
}
以上是C風格 以下是C++風格
//清華2001:題目1066:字符串排序
//輸入一個長度不超過20的字符串(輸入樣例可能有多組)
//對所輸入的字符串 按照ASCII碼的大小從小到大進行排序,請輸出排序後的結果
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
struct LETTER{
char a;
int b;
};
LETTER l[20];
bool cmp( LETTER x, LETTER y ){
return x.b < y.b;
};
int main()
{
int i, j, k, n, length;
string s;
while( cin >> s ){
length = s.length();
for( i=0; i<length; i++ ){
l[i].a = s[i];
l[i].b = l[i].a;
}
sort( l, l+length, cmp );
for( i=0; i<length; i++ )
cout << l[i].a;
cout << endl;
}
return 0;
}
九度OJ 題目1067:n的階乘
時間限制:1 秒 內存限制:32 兆 特殊判題:否 提交:712 解決:252
題目描述:
輸入一個整數n,輸出n的階乘
輸入:
一個整數n(1<=n<=20)
輸出:
n的階乘
樣例輸入:
3
樣例輸出:
6
//清華2001:題目1067:n的階乘
//輸入一個整數n,輸出n的階乘 (1<=n<=20)
#include <iostream>
using namespace std;
#define INT long long
int main()
{
int i, j, k, n;
INT r; //r=result
while( cin >> n ){
r = 1;
for( i=2; i<=n; i++ )
r *= i;
cout << r << endl;
}
return 0;
}