4 条题解
-
3
#include <bits/stdc++.h> using namespace std; int main() { string s; cin >> s; int a[s.length()]; for(int i = 0; i < s.length(); i++) { a[i] = s[i]; } sort(a, a + s.length()); int num = 0; for(int i = 0; i < s.length(); i++) { if(a[i] != 48) { num = i; break; } } swap(a[0], a[num]); for(int i = 0; i < s.length(); i++) { cout << (char)a[i]; } return 0; }
-
3
#include <iostream> #include <string> using namespace std; int main() { string a; getline(cin, a); int work = 0; int num;//当string中有0的时候记录排序后第一个不为0的位置 for (int i = 0; i < a.size() - 1; i++) { for (int j = 0; j < a.size() - i - 1; j++) { if (a[j] > a[j + 1]) { char temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } if (a[0] != '0') { for (int i = 0; i < a.size(); i++) { cout << a[i]; } } else { for (int i = 0; i < a.size(); i++) { if (a[i] != '0'&&work==0) { char temp = a[0]; a[0] = a[i]; a[i] = temp; work = 1;//找到第一个非0元素,重新将i置0并从头输出 i = 0; } if (work == 1) { cout << a[i]; } } } return 0; }
-
1
呃
简单
题目叫我们算出最小的数-----sort呗
如何循环
看代码
初学者必看
/* 主要函数:sort()排序,默认为从小到大排序,参数是要排序数组(字符串)的地址 begin()用于迭代容器的成员函数,返回一个指向容器中第一个元素的迭代器 end()用于迭代容器的成员函数,返回一个指向容器中最后一个元素之后位置的迭代器 swap()交换两个数的地址 */ #include <bits/stdc++.h> using namespace std; string s;//定义string变量 int main(){ cin>>s;//输入变量 sort(s.begin(),s.end());//排序(从小到大)---详解见主要函数 if (s[0]=='0'){//首位不能为0! for (int i=1;i<(int)s.size();i++){//循环求解 //由于s[0]已经为0,所以不必循环s[0] if (s[i]!='0'){//如果s[i]不是0 swap(s[0],s[i]);//交换两个数字 break;//停止循环!!!(必须) } } } cout<<s;//输出 return 0; }
代码如下
#include <bits/stdc++.h> using namespace std; string s; int main(){ cin>>s; sort(s.begin(),s.end()); if (s[0]=='0'){ for (int i=1;i<(int)s.size();i++){ if (s[i]!='0'){ swap(s[0],s[i]); break; } } } cout<<s; return 0; }
-
0
#include <iostream> #include <cstring> using namespace std; int main(int argc, char *argv[]) { char f[20]={'\0'}; cin>>f; //先按照从小到大排序 for (int i=0 ; i<strlen(f)-1; i++) { for (int j =i+1 ;j<strlen(f); j++) { if (f[i]>f[j]) { char x; x = f[i]; f[i] = f[j]; f[j] = x; } } } //如果最小的是0,把第一个不是0的交换一下 if(f[0] == '0'){ for (int i =0 ; i< strlen(f); i++) { if (f[i] != '0') { f[0] = f[i]; f[i] = '0'; break; // 退出循环 } } } cout<<f<<endl; return 0; }
- 1
信息
- ID
- 117
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 1
- 标签
- 递交数
- 66
- 已通过
- 50
- 上传者