c语言删除重复字符pta
2023-01-10阅读(490)
问:如何删除重复字符c语言
- 答:#include<stdio.h>
int main(void)
{
char s[100];
int i, j, n, k;
printf("请输入一串有重复字符的字符串:\n");
gets(s);
for (n = 0; s[n] != '\0'; n++);
for (i = 0; i < n ; i++)
{
for (j = k = i + 1; j < n ; j++)
if (s[j] != s[i])
s[k++] = s[j];
s[k] = '\0';
}
printf("去掉重复字符后结果为:\n");
puts(s);
}
问:c语言字符串怎么去除重复的字符
- 答:程序的基本思路是把输入漏猜的字符串放到a[100]字符组中,然后把a[100]中所有不重复的字符添加到b[100]中,间接完成对字符串中的重复字符的删除
问:纠错:C语言:删除重复字符。
- 答:没注释, 还不如重新写一个
#include <stdio.h>
#include <stdlib.h>
int main()
{
char Letter[80]; //用于接收输入字符串
int result[128]={0}; //相当于一张空的ASCII码表
gets(Letter);
int size=strlen(Letter);
int i,j=0;
for(i=0;i<size;i++) //该循环好比
{ //字符串中的每个字符在空ASCII码表中打勾
result[Letter[i]]=1;
}
memset(Letter,'\0',80); //重置为空字符串
for(i=0;i<128;i++) //检索ASCII码表,逐个写入字符数组中
{
if(result[i]==1) //只要ASCII码表中打了勾的字符,就写入数组
{
Letter[j++]=i;
}
}
printf("\n%s",Letter);
return 0;
} - 答:#include <stdio.h>
#include <string.h>
int main(){
char Letter[128]={0};
char deleter[128]={0};
gets(Letter);
int k=0;
for(int i=0; i<strlen(Letter); i++)
for(int j=0; j<strlen(Letter); j++)
if(i!=j)
if(Letter[i]==Letter[j]) break;
else if(j==strlen(Letter)-1)deleter[k++]=Letter[i];
//对deleter排序代码
puts(deleter);
return 0;
}