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

华为 2015 笔试题练习

时间:2015-06-30 23:25:25      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

1.2015 华为

(1):

技术分享


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

int cmp(const void *a, const void *b)
{
	return *(int*)a - *(int*)b;
}

int main()
{
	char strIn[4096] = {‘\0‘};
	char strTemp[4096] = {‘\0‘};
	int numResult[4096] = { 0 };
	int sizeIn;
	int resultCount = 0; //结果数组索引
	static int count = 0; //连续的数字计数
	
	while( gets(strIn) != NULL)
	{
		
		sizeIn = strlen(strIn); //取得输入的字符串的大小,包括最后的结束符
		if(sizeIn != 0)
		{
			//取得整形数组
		for(int i =0; i < sizeIn;)
		{
			//取得整数
			if(strIn[i] >= ‘0‘ && strIn[i] <= ‘9‘)
			{
				strTemp[count] = strIn[i];
				count++;
			}
			else //遇到非数字
			{
				if(count != 0) //如果有数字,则取出来
				{
					//将得到的字符串转换成整形
					numResult[resultCount++] = atoi(strTemp);
					memset(strTemp, 0, 4096);
					count = 0;
				}
			}
			i++;
		}
		if(count != 0) //取得最后的整数
		{
			numResult[resultCount++] = atoi(strTemp);
			count = 0;
		}
		qsort(numResult, resultCount, sizeof(int), cmp);
		for(int i = 0; i < resultCount - 1; i++)
		{
			printf("%d ", numResult[i]);
		}
		printf("%d", numResult[resultCount - 1]); //打印最后一个元素
		printf("\n");
		resultCount = 0;
		count = 0;
		memset(strIn, 0, 4096);
		memset(strTemp, 0, 4096);
		memset(numResult, 0, 4096);
		}
	}	
}

  

附:快速排序使用方法

C标准库快速排序:http://blog.csdn.net/masibuaa/article/details/5633498

C++快速排序:http://blog.csdn.net/zzzmmmkkk/article/details/4266888

 

华为 2015 笔试题练习

标签:

原文地址:http://www.cnblogs.com/mrethan/p/4611690.html

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