九度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;
}