tzc 1292 排序

编程入门 行业动态 更新时间:2024-10-27 20:31:03

<a href=https://www.elefans.com/category/jswz/34/1722274.html style=tzc 1292 排序"/>

tzc 1292 排序

方法一:

#include<iostream>
#include<string>
using namespace std;
const int MAX_NUM=1000;
void merge(long num[],int n);
int main()
{string str;while(cin>>str){int len=str.size();long num[MAX_NUM];int i=0,j,temp;for(j=0;j<MAX_NUM;j++)num[j]=0;for(j=0;j<len;){temp=str[j]-'0';if(temp!=5){num[i]=num[i]*10+temp;j++;}else{if(j)i++;while(str[j]=='5')j++;if(j>len-1)i--;}}merge(num,i+1);cout<<num[0];for(j=1;j<=i;j++)cout<<" "<<num[j];cout<<endl;}return 0;
}
void merge(long num[],int n)
{long temp;int k;for(int i=0;i<n;i++){k=i;temp=num[i];for(int j=i;j<n;j++)if(num[k]>num[j])k=j;if(k!=i){num[i]=num[k];num[k]=temp;}}
}


方法二:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>int cmp(const void* a,const void* b)
{return *(int*)a-*(int*)b;
}int main()
{char a[1010];int s[1010],i;while(scanf("%s",a)!=EOF){i=0;char *p=strtok(a,"5");while(p!=NULL){sscanf(p,"%d",&s[i]);p=strtok(NULL,"5");i++;}qsort(s,i,sizeof(int),cmp);printf("%d",s[0]);for(int j=1;j<i;j++)printf(" %d",s[j]);printf("\n");}return 0;
}


更多推荐

tzc 1292 排序

本文发布于:2023-06-21 07:10:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/813719.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:tzc

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!