南阳oj-ASCII码排序-用了一个晚上
Posted 多情剑客无情剑;
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了南阳oj-ASCII码排序-用了一个晚上相关的知识,希望对你有一定的参考价值。
![](https://image.cha138.com/20210608/f6abbcc39f904e6887720577724b8f64.jpg)
#include <iostream> #include <sstream> #include <stdio.h> #include <string> using namespace std; /*string a = "abc" ,将a放到字符数组*/ void convert(string str,char s[]) { /*abc的长度是3*/
/*string a = "abcde" char aa[]=a;不可以,char aa[]="123"可以*/ for(int i=0;i<str.size();i++){ s[i]=str[i]; } } void chuli(char a[],int N) { //3个元素2趟排序 for(int j =1;j<N;j++ ){ for(int i=0;i<N-j;i++){ if(a[i]>a[i+1]) {int temp=a[i];a[i]=a[i+1];a[i+1] =temp;} } } for(int m=0;m<3;m++) {cout<<a[m]; cout<<" ";} printf("\\n"); } int main() { /*动态建立2个数组*/ int num; cin>>num; char *p=new char[3]; string *str =new string[num]; /*给字符串数组赋值*/ for(int i=0;i<num;i++){ string a; cin >>a; //用c特有的scanf输入字符串不好 str[i]=a; } for(int k=0;k<num;k++){ convert(str[k],p); chuli(p,3); p[0]=\'\\0\'; } return 0; }
#include <iostream> #include <sstream> #include <stdio.h> #include <string> using namespace std; //输入一个字符,然后进行每个字符的排序,这种子函数的接口定义明显 void chuli(string a) { //算法很简单啊,语法细节太坑了 int N = a.size(); //3个元素2趟排序 for(int j =1;j<N;j++ ){ for(int i=0;i<N-j;i++){ if(a[i]>a[i+1]) {int temp=a[i];a[i]=a[i+1];a[i+1] =temp;} } } for(int m=0;m<3;m++) {cout<<a[m]; cout<<" ";} printf("\\n"); } int main() { // string aa = "abc"; // 虽然有数组的[],但是不能传递给字符数组 // printf("%c",aa[3]); //0是a 1是b 2是c 3是\'\\0\' 4是随便的字符 // if(aa[3]==\'\\0\') cout << "123"; 这是可以输出的! int num; cin>>num; string *str =new string[num]; /*给字符串数组赋值*/ for(int i=0;i<num;i++){ cin >>str[i]; //用c特有的scanf输入字符串不好 } for(int k=0;k<num;k++){ chuli(str[k]); } return 0; }
以上是关于南阳oj-ASCII码排序-用了一个晚上的主要内容,如果未能解决你的问题,请参考以下文章