码迷,mamicode.com
首页 > 其他好文 > 详细

华为机试—输出含“23”的数

时间:2015-01-01 14:49:26      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:华为机试   输出含23的数   

输入一行数字:123 423 5645 875 186523
在输入第二行:23
将第一行中含有第二行中“23”的数输出并排序

结果即:123 423 186523


#include <stdio.h>
#include <stdlib.h>

int compare(const void *p,const void *q){
	return *(int *)p-*(int *)q;
}

int main()
{
	int n,m,i=0,k=0;
	int sort[100],a[100];

	scanf("%d",&n);
	while(getchar()!='\n')
	{
		a[i++]=n;
		scanf("%d",&n);
	}
	a[i++]=n;

	scanf("%d",&m);//输入23

	for(int j=0;j<i;j++)
	{
		int temp = a[j];
		while(temp>0)
		{
			if(temp%100==m)
			{
				sort[k++]=a[j];
				break;
			}
			else
				temp=temp/10;
		}
	}

	qsort(sort,k,sizeof(int),compare);

	for(j=0;j<k;j++)
		printf("%d ",sort[j]);
	printf("\n");

	return 0;
}


测试结果,可能想的不周全,欢迎查漏补缺:

技术分享

华为机试—输出含“23”的数

标签:华为机试   输出含23的数   

原文地址:http://blog.csdn.net/wtyvhreal/article/details/42318991

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!