首页 > 其他 > 详细

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

时间:2015-01-01 14:48:03      阅读:143      评论:0      收藏:0      [点我收藏+]
输入一行数字: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”的数

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!