zoukankan      html  css  js  c++  java
  • 华为 2015 笔试题练习

    一.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] = {''};
    	char strTemp[4096] = {''};
    	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("
    ");
    		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

    2.描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:

    (1) 及格线是10的倍数;
    (2) 保证至少有60%的学生及格;
    (3) 如果所有的学生都高于60分,则及格线为60分
    输入:输入10个整数,取值0~100
    输出:输出及格线,10的倍数
    输入样例:61 51 49 3020 10 70 80 90 99
    输出样例:50
    #define _CRT_SECURE_NO_DEPRECATE
    
    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <vector>
    #include <stdio.h>
    using namespace std;
    
    int main()
    {
        vector<int> scoreVec;
        int scoreTemp;
        int line = 0;
        while(1)
        {
            for(int i = 0; i < 10; i++)
            {
                scanf("%d", &scoreTemp);
                scoreVec.push_back(scoreTemp);
            }
            sort(scoreVec.begin(), scoreVec.end());
            if(scoreVec[0] >= 60)
                line = 60;
            else
            {
                line = (scoreVec[3] + scoreVec[4]) / 2 /10 *10;
                cout << line << endl;
                scoreVec.clear();
            }
        }
    }

     3.描述:一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。

    有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。n个学生按此规定走完后,长廊里电灯有几盏亮着。注:电灯数和学生数一致。
    输入:电灯的数量
    输出:亮着的电灯数量
    样例输入:3
    样例输出:1
    #define _CRT_SECURE_NO_DEPRECATE
    
    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <vector>
    #include <stdio.h>
    using namespace std;
    
    int main()
    {
        int num = 0; //电灯数
    
        while(1)
        {
            int number = 0;
            int count[65535] = {0};
            cin >> num;
            number = 0;
            //对每一个电灯统计被拉的次数,如果是偶数,则关;如果是奇数,则开。
            for(int i = 1; i <= num; i++) //学生
            {
                for(int j = 1; j <= num; j++) //电灯
                {
                    if(j % i == 0)
                    {
                        count[j]++;
                    }
                }
            }
            for(int j = 1;j <= num; j++)
            {
                if(count[j] % 2 != 0 )
                {
                    number++;
                }
                //count[j] = 0;
            }
            cout << number << endl;
        }
    }
  • 相关阅读:
    P1613 跑路
    数据挖掘-聚类分析(Python实现K-Means算法)
    使用scikit-learn 估计器分类
    数据挖掘-集成学习
    数据挖掘-关联分析 Apriori算法和FP-growth 算法
    scikit-learn 中常用的评估模型
    数据挖掘---支持向量机(SVM)
    数据挖掘-KNN-K最近邻算法
    数据挖掘-决策树
    数据挖掘-逻辑Logistic回归
  • 原文地址:https://www.cnblogs.com/mrethan/p/4611690.html
Copyright © 2011-2022 走看看