找工作系列之华为机试2013.7.3

来源:互联网 发布:c语言ascii码表 编辑:程序博客网 时间:2024/06/06 04:57

题目一:给一字符串,统计其出现过的字符,并输出。

例如:输入:"abbccdeabf",输出:"abcdef"

void stringFilter(const char *pInputStr,int inputLen,char *pOutputStr)//字符串过滤{if(pInputStr == NULL || pOutputStr == NULL)return;char table[256] = {0};while(*pInputStr != '\0'){if(++table[*pInputStr] == 1){*pOutputStr++ = *pInputStr++;}elsepInputStr++;}*pOutputStr = '\0';}

void main()
{
 char* str = "ccbafddc";
 int len = strlen(str);
 char* outstr = (char*)malloc(len + 1);
 stringFilter(str,len,outstr);
 printf("%s",outstr);
}

2.给一从1到9的数字a,和数字n,计算表达式a+aa+aaa+...+aaaa...a(n个a)的值(不需考虑溢出)

#include <stdio.h>#include <stdlib.h>int calculate(char inputNum,char inputDec){int result = 0;char i,j;for(i=0;i<inputNum;i++){int tmp = 1;for(j=0;j<i;j++)tmp=tmp*10;result += (inputNum-i)*inputDec*tmp;}return result;}long calculate_1(char inputNum,char inputDec){int i,j;long result = 0;for(i=0;i<inputNum;i++){long tmp = 1;long tmp_1 = inputDec;for(j=0;j<i;j++){tmp = tmp*10;tmp_1 += tmp * inputDec;}result += tmp_1;}return result;}//上面两个函数都符合题意void main(){char inputNum=5;char inputDec=2;int result=calculate_1(inputNum,inputDec);printf("%d\n",result);}

3.判断邮箱名的合法性,这个类似的网上很多,不再详述。

VC++ 6.0环境。

原创粉丝点击