题目一:给一字符串,统计其出现过的字符,并输出。
例如:输入:"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++;
}
else
pInputStr++;
}
*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环境。