南阳oj-ASCII码排序-用了一个晚上


#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;
}
时间: 2024-10-14 20:09:56

南阳oj-ASCII码排序-用了一个晚上的相关文章

ASCII码排序 南阳acm4

ASCII码排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格. 输出 对于每组输入数据,输出一行,字符中间用一个空格分开. 样例输入 2 qwe asd 样例输出 e q w a d s 来源 网络 上传者 naonao 具体实现看代码: #include<st

ASCII码排序

ASCII码排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格. 输出 对于每组输入数据,输出一行,字符中间用一个空格分开. 样例输入 3 qwe asd zxc 样例输出 e q w a d s c x z #include "stdio.h"void

字符串ASCII码排序

在对接第三方支付渠道的时候,第三方会要求参数按照ASCII码从小到大排序. 如下是渠道方有关生成签名规则的java代码示例: //初始化0010merkey.private文件: String merchantprivatekey; merchantprivatekey=PayCfg.getValue("0010merchantprivatekey"); // 将要签名的数据传给map TreeMap map = new TreeMap(); StringBuffer sbf = ne

hdu 2000 ASCII码排序

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2000 题目大意:按各字符的ASCII码从小到大的顺序进行排序 注意格式哦!输出时字符中间用一个空格分开 1 #include<stdio.h> 2 int main() 3 { 4 char a,b,c,t; 5 while(scanf("%c%c%c",&a,&b,&c)!=EOF) 6 { 7 getchar(); 8 if(a>b) 9 {

nyist 4 ASCII码排序

ASCII码排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格. 输出 对于每组输入数据,输出一行,字符中间用一个空格分开. 样例输入 3 qwe asd zxc 样例输出 e q w a d s c x z error #include<stdio.h>int

2000 ASCII码排序

声明:从今天开始每天做一道杭电ACM题,锻炼思考能力. 2000  ASCII码排序 Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格. Output 对于每组输入数据,输出一行,字符中间用一个空格分开. Sample Input qwe asd zxc Sample Output e q w a d s c x z #include<stdio.h> int mai

杭电 HDU ACM 2000 ASCII码排序

ASCII码排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 103963    Accepted Submission(s): 43442 Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格. Output

C# 参数签名字符串按 ASCII码排序,注意其中的坑

参数签名中通常是按键值对中键名称的ASCII按从小到大的顺序排序后进行hash为签名字符串.不要直接使用 SortedDictionary<string, string> 有坑的,他是按数字.小写字母.大写字母的顺序排的,实际规则应该是数字.大写字母.小写字母的顺序来排才对.一直使用他在支付宝和微信的接口中都没问题,因为支付宝和微信的单词是用下划线分隔的,今天接入的一家支付公司用的驼峰命名法坑就出现了.正确的打开姿势如下: /// <summary> /// ASCII值排序 //

hdu2000 ASCII码排序【C++】

ASCII码排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 206054    Accepted Submission(s): 82273 Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格. Output