修练者
#include <iostream>
#include<math.h>
#include<string.h>
using namespace std;
int main()
{
char a[80],temp,x;
int len,i,j;
cin>>a;
len = strlen(a);
for (int i = 0; i <len ; i++){
for (int j = 0; j < len - i; j++)
if(a[i]>a[i+j]){
temp=a[i];
a[i]=a[i+j];
a[i+j]=temp;
}
}
for(i=0;i<len;i++)
cout<<a[i];
cout<<endl;
return 0;
}
为何只有20分????
高级光能
应该是排序有问题(你这代码我表示看不懂)
修改建议:
1.定义一个正整数
2.while(一个数组存储)
3.sort
4.输出
不要嫌麻烦!!!
中级光能
你的排序有问题。
排序:
for(int i=k-1;i>=1;i--)
{
for(int j=0;j<i;j++)
{
if(a[i]<a[j])
swap(a[i],a[j]);
}
}
或:
for(int i=k-1;i>=1;i--)
{
for(int j=0;j<i;j++)
{
if(a[i]<a[j])
{
int tmp;
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
中级天翼
题目说好了是数字,不能用char
用循环结构n%10一个一个的取出数字存放到数组里,再用sort排序好。最后用num=num*10+s[i]把数组的每个数字一个一个的计算整数。
望采纳!嘻嘻嘻
初级守护
应该是排序有问题(你这代码我表示看不懂)
修改建议:
1.定义一个正整数
2.while(一个数组存储)
3.sort
4.输出
不要嫌麻烦!!!