题目描述:
将第一行中含有第二行中23的数输出并排序
例如 输入第一行数字: 123 423 5635 875 186523
在第二行输入23
将第一行含有第二行23的数输出并排序
结果即 123 423 186523
#include<iostream>
#include<algorithm>
using namespace std;
#define MAX 10
int main()
{
int a[MAX];
int i,j,s,temp;
int S[MAX],t=0;
char c='a';
i = 0;
while(c!='\n')
{
scanf("%d%c",&temp,&c);
a[i++] = temp;
}//用这种方法判断输入结束??
//输入第二行
cin>>s;
for(j = 0;j<i;j++)
{
temp = a[j];
if(temp %100 == 23)
S[t++] = temp;
else
{
int num = temp;
while(num)
{
num = num/10;
if(num%100 == 23)
{
S[t++] = temp;
}
}
}
}
sort(S,S+t-1);
for(int j = 0;j<t;j++)
cout<<S[j]<<" ";
cout<<endl;
system("pause");
return 0;
}
/*
int main()
{
int *array = new int[MAX];
int num;
int i=0;
while(cin>>num)
{
if(num%100 == 23)
{
array[i] = num;
i++;
}
else
{
while(num)
{
num = num/10;
if(num%100 == 23)
{
array[i] = num;
i++;
}
}
}
}
//排序
sort(array,array+i-1);
for(int j = 0;j<i;j++)
cout<<array[j]<<" ";
cout<<endl;
system("pause");
return 0;
}*/
//功能实现了,但是处理太不恰当