题目1051:数字阶梯求和
-
题目描述:
-
给定a和n,计算a+aa+aaa+a...a(n个a)的和。
-
输入:
-
测试数据有多组,输入a,n(1<=a<=9,1<=n<=100)。
-
输出:
-
对于每组输入,请输出结果。
-
样例输入:
-
1 10
-
样例输出:
-
1234567900
#include<iostream>
#include<string.h>
using namespace std;
int result[1000];
int main()
{
int a,n,c;
while(cin>>a>>n)
{
memset(result,0,sizeof(result));
int last=108,jinwei=0;//last表示result数组的最末尾的位置。
int tmp;
while(n)
{
tmp=a*n+jinwei;//现将n个数的个位相加
result[last]=tmp%10;//将结果存储在最后的位置,并通过+‘0’方式变成字符
jinwei=tmp/10;
last--;
n--;
}
if(jinwei>0)
result[last--]=jinwei;//存储最终的进位。
for(int i=last+1;i<=108;i++)
cout<<result[i];
cout<<endl;
}
return 0;
}
题目1054:字符串内排序
-
题目描述:
-
输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。
-
输入:
-
测试数据有多组,输入字符串。
-
输出:
-
对于每组输入,输出处理后的结果。
-
样例输入:
-
bacd
-
样例输出:
-
abcd
#include<iostream>
#include<string.h>
using namespace std;
char str[1000];
void swap(char &a,char &b)
{
char t;
t=a;
a=b;
b=t;
}
void sort(char str[],int n)//选择排序方法
{
for(int i=0;i<n;i++)
{
int k=i;
for(int j=i;j<n;j++)
{
if(str[k]>str[j])
k=j;
}
if(k!=i)
{
swap(str[i],str[k]);
}
}
}
int main()
{
while(cin>>str)
{
int len=strlen(str);
sort(str,len);
cout<<str<<endl;
}
return 0;
}