1.删除字符串中重复的字符 2.删除字符串中指定的字符串 3.删除数组中重复元素

来源:互联网 发布:端口范围165535 编辑:程序博客网 时间:2024/05/15 06:03
#include<stdio.h>#include<string.h>void del_1(char s[]) //删除重复字符{int i, j, k;for(i=0; s[i] != '\0'; i++)for(j=i+1; s[j] != '\0'; )if(s[i] == s[j]){for(k=j; s[k] != '\0'; k++)s[k] = s[k+1];}elsej++;printf("\nDelete duplicate the string of the characters\n\n");puts(s);}void del_2(char s1[])//删除指定字符串{char a[20];int i, j, k, n;printf("\nplease input a string your want to delete \n\n");gets(a);n = strlen(a);for(i=0; s1[i] != '\0'; ){for(k=i, j=0; s1[k] == a[j] && s1[k] != '\0' && a[j] != '\0';  k++, j++);if(k-i==n){for(k=i; s1[k] != '\0'; k++)s1[k] = s1[k+n];}      elsei++;}printf("\nAfter delete the appoint string output new string\n\n");puts(s1);}int main(){char s[100], s1[100];printf("\nPlease input a string\n\n");gets(s);del_1(s);printf("\nPlease input a string\n\n");gets(s1);del_2(s1);return 0;}#include<stdio.h> //删除数组中的重复元素void del(int a[], int n){int i, j, k;for(i=0; i<n; i++){for(j=i+1; j<n; )if(a[i] == a[j]){for(k=j; k<n-1; k++)a[k] = a[k+1];n--;}elsej++;}printf("\n");for(i=0; i<n; i++)printf("%d ",a[i]);}int main(){int a[100];int n, i;printf("Input the numbers of array: ");scanf("%d", &n);printf("\nPlease input %d numbers\n", n);for(i=0; i<n; i++)scanf("%d", &a[i]);del(a, n);}

1 0
原创粉丝点击