题目:
编写一个函数,去掉给定字符串中重复的字符。例如给定"google",输出"gole"。
代码:
#include<stdio.h>
#include<string.h>
void norept(char *arr1,char *argv1,int leng1);
int main(int argc,char **argv)//通过linux命令行,向主函数的形参发送参数
{
if(argc!=2)
{
printf("输入命令行错误,格式为:./a.out 字符串\n");
return -1;
}
int leng=strlen(argv[1]);
char arr[leng];
norept(arr,argv[1],leng);
printf("norepeat is:%s\n",arr);
}
/*
* the function of norept:编写一个函数,去掉给定字符串中重复的字符
* parameter1: arr1,去重后需要传回的字符串
* parameter2:argv1,要去重的字符串(ascii码)
* parameter3: leng1,传入字符串的长度
* return:无
*/
void norept(char *arr1,char *argv1,int leng1)
{
int i=0,j=0,z=0;
for(z=0;z<leng1;z++)
{
for(i=0;i<j;i++)
{
if(argv1[z]==arr1[i])
{
break;
}
}
if(i==j)
{
arr1[j]=argv1[z];
j++;
}
}
arr1[j]='\0';
}