精华内容
下载资源
问答
  • 对输入的字符串进行排序后输出 打开以下链接可以查看正确的代码 输入描述: 输入有两行,第一行n 第二行是n个空格隔开的字符串 输出描述: 输出一行排序后的字符串,空格隔开,无结尾空格 示例1 输入 复制 5 c d a bb ...

    链接:https://ac.nowcoder.com/acm/contest/5657/H
    来源:牛客网

    题目描述
    对输入的字符串进行排序后输出
    打开以下链接可以查看正确的代码
    输入描述:
    输入有两行,第一行n

    第二行是n个空格隔开的字符串
    输出描述:
    输出一行排序后的字符串,空格隔开,无结尾空格
    示例1
    输入
    复制
    5
    c d a bb e
    输出
    复制
    a bb c d e

    #include <stdio.h>
    #include <stdlib.h>
    
    struct list;
    struct list {
        char *s;
        struct list *next;
    };
    
    int main()
    {
        struct list *head = NULL;
        //(struct list *)malloc(sizeof(struct list));
    
        int n = 0;
        scanf("%d", &n);
        n += 1;
        while (n--) {
            int len = 1;
            char *str = (char*)malloc(1);
            char c;
            while ((c = getchar()) != ' ') {
                if (c == '\n') {
                    break;
                }
                str[len-1] = c;
                len++;
                str = (char*)realloc(str, len);
            }
            struct list *phead = head;
    		struct list *plast = NULL;
            struct list *tmp = NULL;
            while (phead && (*str > *phead->s)) {
    			plast = phead;
                phead = phead->next;
            }
            if (!head) {
                head = (struct list *)malloc(sizeof(struct list));
                head->s = str;
                head->next = NULL;
            } else {
                tmp = phead;
                plast->next = (struct list *)malloc(sizeof(struct list));
    			plast->next->s = str;
                plast->next->next = tmp;
            }
        }
        
        struct list *ph = head;
        while (ph) {
            printf("%s", ph->s);
            ph = ph->next;
            if (ph) {
                printf(" ");
            } else {
                printf("\n");
            }
        }
        return 0;
    }
    
    展开全文
  • 对输入的字符串进行排序后输出 输入描述: 多个测试用例,每个测试用例一行。 每行通过空格隔开,有n个字符,n 输出描述: 对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开 示例1 输入 复制 a c ...
    链接:https://ac.nowcoder.com/acm/contest/5646/I
    来源:牛客网
    
    题目描述 
    对输入的字符串进行排序后输出
    输入描述:
    多个测试用例,每个测试用例一行。
    
    每行通过空格隔开,有n个字符,n<100
    输出描述:
    对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
    示例1
    输入
    复制
    a c bb
    f dddd
    nowcoder
    输出
    复制
    a bb c
    dddd f
    nowcoder
    int main1()
    {
        string s;
        vector<string> str;
        while(cin>>s)
        {
            str.push_back(s);
            if(cin.get()=='\n'){
                sort(str.begin(), str.end());      
             
            for(string i: str)
             {
             cout<<i<<" ";
             }
            cout<<endl;
            str.clear();
            }
        }
       
        return 0;
    }
    
    int main()
    {
    	string s;
    	vector<vector<string>> str;
    	int count = 0;
    	while (cin >> s)
    	{
    		str.push_back(vector<string>());
    		str[count].push_back(s);
    		if (cin.get() == '\n') {
    			sort(str[count].begin(), str[count].end());
    			count++;
    		}
    		
    	}
    	for (int i = 0; i < str.size(); ++i)
    	{
    		for (int j = 0; j < str[i].size(); j++)
    		{
    			cout << str[i][j] << " ";
    		}
    		cout << endl;
    	}
    
    	return 0;
    }

     

    展开全文
  • 一、对输入的数字使用冒泡排序的方法进行排序 import java.util.Scanner; public class paiXu { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner...

    一、对输入的数字使用冒泡排序的方法进行排序

    import java.util.Scanner;
    public class paiXu {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner sc = new Scanner(System.in);
    		String s = sc.nextLine(); 
    		String[] string = s.split(" ");		//使用空格将数组中的每个元素分隔开
    		int[] array = new int[string.length];
    		//遍历数组,并将string类型的数组转变成int类型的数组
    		for(int i=0;i<array.length;i++){
    			array[i] = Integer.parseInt(string[i]);
    		}
    		//使用冒泡排序对数组进行排序
    		int temp;
    		for(int i=0;i<array.length;i++){
    			for(int j=0;j<array.length-i-1;j++){
    				if(array[j]>array[j+1]){
    					temp = array[j+1];
    					array[j+1] = array[j];
    					array[j] = temp;
    				}
    			}
    		}
    		//遍历排序之后的数组,并给数组排序时加上“,”进行分隔开
    		for(int i=0;i<array.length;i++){
    			if(i==array.length-1){
    				System.out.print(array[i]);
    			}else{
    				System.out.print(array[i]+",");
    			}
    		}
    	}
    
    }
    

    展开全文
  • #include #include #define MAXLINES 5000 /*最多可以输入5000行*/ #define MAXLEN 1000 /*max length of any input line*/ #define ALLOCSIZE 10000
     
    #include <stdio.h>
    #include <string>
    
    #define MAXLINES 5000 /*最多可以输入5000行*/
    #define MAXLEN 1000 /*max length of any input line*/
    #define ALLOCSIZE 10000 /*size of available space */
    
    char *lineptr[MAXLINES]; /*指向所有行的指针*/
    static char allocbuf[ALLOCSIZE]; /*storage for alloc*/
    static char *allocp = allocbuf; /*next free position */
    
    
    int readlines(char *lineptr[], int nlines);
    void writelines(char *lineptr[], int nlines);
    int getline(char *, int);
    char *alloc(int);
    
    void qsort(char *lineptr[], int left, int right);
    
    /* sort input lines*/
    int main(){
    	int nlines; /*number of input lines read*/
    
    	if ((nlines = readlines(lineptr, MAXLINES)) > 0) {
    		qsort(lineptr, 0, nlines - 1);
    		writelines(lineptr, nlines);
    		return 0;
    	}
    	else{
    		printf(" error : input too big to sort \n");
    		return 1;
    	}
    
    	
    }
    
    
    /*readlines : read input lines*/
    int readlines(char *lineptr[], int maxlines){
    	int len, nlines;
    	char *p, line[MAXLEN];
    
    	nlines = 0;
    	while ((len = getline(line, MAXLEN)) > 0) {
    		if (nlines >= maxlines || (p = alloc(len)) == NULL) {
    			return -1;
    		}
    		else{
    			line[len - 1] = '\0';/*删除换行符*/
    			strcpy(p, line);
    			lineptr[nlines++] = p;
    		}
    	}
    	return nlines;
    }
    
    /*writelines : write output lines */
    void writelines(char *lineptr[], int nlines){
    	int i ;
    
    	for ( i = 0; i < nlines; i ++) {
    		printf("%s\n", lineptr[i]);
    	}
    }
    
    char *alloc(int n){/* return pointer to n characters*/
    	if (allocbuf + ALLOCSIZE - allocp >= n) {
    		allocp += n;
    		return allocp - n;/*old p*/
    	}
    	else{ /* not enough room*/
    		return 0;
    	}
    }
    
    /************************************************************************/
    /* qsort : sort v[left]...v[right] into increasing order
    /************************************************************************/
    void qsort(char *v[], int left, int right){
    	int i , last;
    	void swap(char *v[], int i , int j);//声明交换函数
    
    	if (left >= right) {
    		return;
    	}
    
    	swap(v, left, (left + right) / 2);
    	last = left;
    	for (i = left + 1; i <= right; i ++) {
    		if (strcmp(v[i], v[left]) < 0) {
    			swap(v, ++last, i);
    		}
    	}
    	swap(v, left, last);
    	qsort(v,left, last - 1);
    	qsort(v, last + 1, right);
    }
    
    void swap(char *v[], int i , int j){
    	char *temp;
    
    	temp = v[i];
    	v[i] = v[j];
    	v[j] = temp;
    }
    
    /************************************************************************/
    /* getline : get line into s, return length
    /************************************************************************/
    int getline(char s[], int lim){
    	int c, i;
    
    	i = 0;
    	while ( --lim > 0 && (c = getchar()) != EOF && c != '\n') {
    		s[i++] = c;
    	}
    
    	if (c == '\n') {
    		s[i++] = c;
    	}
    	s[i] = '\0';
    	return i;
    }

    展开全文
  • import java.util.Arrays; import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { System.out.println("请输入排序的字符串:"); Scanner s = new Scanner(Sy...
  • C语言 对输入的一个字符串进行排序

    千次阅读 2015-06-01 10:45:16
    #include #include #include void main() { char str[50]; int i,j,len; printf("请输入字符串:");...//计算你输入的字符串的长度 if(len>50) { puts("输入的字符大于50!重新输入:"); s
  • 假设最长字符串的长度是L,以L作为输入的长度, 然后假定所有的字符串都”补齐”到此长度,这个补齐只是逻辑上的,我们可以假想有一种”空字符”, 它小于任何其它字符,用此字符补齐所有长度不足的字符串。...
  • C语言-对输入的n个字符串进行排序

    万次阅读 2015-06-01 10:47:57
    #include #include #include #define N 256 //宏定义 int main() { char strArray[N][256]; char *str[N];... printf("请输入字符串:\n"); for(i=0;i;i++) { gets(strArray[i]); if (st
  • 把打印的那里改成System.out.println();就可以了,目前那里是.../***str(需要排序的字符串),desc(true:从小到大,false:从大到小)*@paramstr*@paramdesc*/publicstaticvoidstringSort(Stringstr,booleandesc)...
  • 题目描述 输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码...按照ASCII码的大小对输入的字符串从小到大进行排序,输出排序后的结果示例1输入dcba 输出abcd import java.util.*; public class Main {...
  • 字符串输入&排序

    2020-04-19 23:10:32
    对输入的字符串进行排序后输出 输入描述 输入有两行,第一行n;第二行是n个空格隔开的字符串 输出描述 输出一行排序后的字符串,空格隔开,无结尾空格 样例: 输入: 5 c d a bb e 输出: a bb c d e 解题代码 #...
  • 多个字符串进行排序问题!

    万次阅读 2012-11-30 17:44:22
    算法: 假设输入的每个字符串的字符个数不超过10个,那么输入十个就是十行十列的字符数组,那么就需要有一个指针可以访问行,即需要一个指向一维数组的指针,再仿照貌似冒泡排序进行排序然后进行输出. ...
  • 代码: ... import java.util.Arrays; public class StringText3 { public static void main(String[] args...//字符串对象 String str=“ef4vbf54rwe2190v35r”; //新数组—用于存储字符串中数字 int[] arr=new int[st...
  • #include<stdio.h> #include<string.h> #define M 100 void sort(char (*s)[M]) { int i,j; char *p,temp[10]; ... //用冒泡排序 for(i=0;i<9;i++) { for(j=0;j<9-i-1;...
  • 对输入的字符串进行排序后输出 输入描述 多个测试用例,每个测试用例一行。 每行通过空格隔开,有n个字符,n 输出描述 对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开 测试用例 输入 a c bb f ...
  • 在主程序中输入5字符串,调用sort(s,n)函数n个字符串s进行排序,然后输出排序后结果。例如:输入字符串Li Xiao Wang Zhang Yu,输出:Zhang Yu Xiao Wang Li。 代码如下 #include <stdio.h> #include <...
  • 问题描述: 编写一个程序,从键盘接收一个字符串(长度不超过20),采用冒泡法排序,按照字符顺序从小到大进行排序,最后输出排序后...对输入的字符串程序自动得出n值,可以利用strlen(s)函数!!! 源代码如下: #...
  • //在主函数中输入10个不等长的字符串, //用另一函数排序。然后再主函数中输出这10个已排好序的字符串。 //用指针数组处理 #include <string.h> #include <stdio.h> void Sortchar(char **str,int ...
  • 题目: 给定一个字符串,请将字符串的字符按照出现的频率降序排列。 示例 1: 输入: "tree" ...思路:题目中提到按字符出现的频率排序,这正好符合桶...先用Map对字符串的字符进行统计 创建一个桶,然后将字符...
  • arr a[10]={0}; arr *p=NULL; p=a; printf("请输入10个字符串中间用空格代替:\n"); sortabcArr(p, 10); printf("排完序的字符串:\n"); outABCArr(p, 10);typedef struct Arr{ char ARR[100];}arr;void...
  • 实现一个二维字符数组进行排序的函数,字符串的输入输出在主函数里实现。 #include <stdio.h> #include <string.h> void sort(char *name[],int n) { char *tmp = NULL;//空 int i,j,k; for(i =...
  • package comheima.test; import java.util.Collection; import java.util.Comparator; import java.util.Scanner;... * 键盘接收一个字符串,程序其中所有的字符进行排序,例如输入:helloitcast,程序打印:acehillost
  • 写一个函数,用“起泡法”对输入的10个字符按由小到大顺序排序。 要点:1.交换两个字符串常量不能用字符串拷贝。 如:const char *str1=“haha”; const char *str2=“nihao”; const char *tmp=str1; str1=str2; ...
  • 对输入的8个字符串(每个字符串长度不超过20)按照字典顺序进行排序并输出。不限定排序方法,不能使用goto语句。 输入输出格式: 输入:%s 输出:%s\n 输入:多个字符串用空格分隔 输出:排序好的字符串,每行一个...
  • 合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。 排训后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者...
  • 字符串排序

    2019-03-25 15:55:41
    该程序可以对输入的字符串进行排序,windows中以Ctrl+z结束。程序的思路是利用指针数组,指向存储在alloc函数分配的空间中的字符串,使用Qsort函数进行比较。在Qsort函数中,将key也就是待回归的值变为指针变量来...
  • 字符串中的字符进行排序 翻译: 编写返回已排序字符串的方法: ...编写一个测试程序,提示用户输入字符串并显示排序后的字符串。 代码: import java.util.*; public class StrSort { public static String...
  • 近期遇到一个小任务,要求按序号(integer affix:整数前缀)从大到小的顺序输出某列表中所有的字符串元素。当时查了一些资料解决了,在此做个记录。 一、问题描述 输入: li = ['99_A_item_b', '1_A_item_a', '...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,222
精华内容 488
关键字:

对输入的字符串进行排序