题目描述:
输入一行数字:123 423 5645 875 186523
在输入第二行:23
将第一行中含有第二行中“23”的数输出并排序
结果即:123 423 186523
代码:
#include <iostream>
#define MAX 100
using namespace std;
int main()
{
int a[N],temp,s,i,j;
char c=' ';
int sort[N],t=0;
i=0;
while(c!='\n') //存储数据
{
scanf("%d%c",&temp,&c);
a[i]=temp;
i++;
}
scanf("%d",&S);
for(j=0;j<=i;j++) //查找关键数据
{
temp=a[j];
while(temp>0)
{
if(temp%100==s)
{
sort[t]=a[j];
t++;
break;
}
else
temp=temp/10;
}
}
for(i=0;i<t-1;i++) //排序
for(j=0;j<t-i-1;j++)
{
if(sort[j]>sort[j+1])
{
temp=sort[j];
sort[j]=sort[j+1];
sort[j+1]=temp;
}
}
for(i=0;i<t;i++)
{
printf("%d",sort[i]);
}
return 0;
}