#include<stdio.h>
#include<string.h>
#define N 100
del_min(char *str,int *len_str) //调用函数有两个形参,一个char类型,一个int类型
{
int i = 0;
int j = 0;
int k = 0; //定义并初始化三个循环变量
int count = 0; //定义并初始化一个计数变量
int min_max = 100; //定义需要删除的数组的最大存放限度,即N的大小
int temp[N] = {0}; //定义并初始化一个中间数组用来储存需要删除的下标
for(i = 0; i < (int) len_str; i++) //外层函数遍历数组所有内容,(int) len_str强制类型转换为整型
{
count = 0; //初始化计数变量
for(j = 0; j < (int) len_str; j++) //内层循环用来进行比较是否出现同样的字符
{
if(*(str + i) == *(str + j))
{
count++; //计数变量自增,比较出同样的字符,进行计数
}
}
if(count == min_max) //如果计数变量为min_max说明全为同一字符
{
k++;
temp[k] = i; //全部赋给中间数组进行删除
}
if(count < min_max) //如果小于min_max,min_max进行重新赋值,k=0中间数组首位
{
min_max = count;
k = 0;
temp[k] = i;
}
}
k = 0; //初始化k,以便下面的循环从中间数组的首位进行比较
for(i = 0; i < (int) len_str; i++)
{
if(i == temp[k])
{
*(str + i) = '\0'; //删除中间数组
k++;
}
}
for(i = 0; i < (int) len_str; i++) //循环打印最终数组
{
printf("%c",str[i]);
}
printf("\n");
*str = '\0'; //在最后加上'\0',结束数组
}
int main()
{
int len_str = 0; //定义并初始化数组长度为0
char str[N] = "0"; //定义并初始化数组
printf("Please input a string:\n");
scanf("%s",str); //输入一个字符串
len_str = strlen(str); //表示字符串长度
del_min(str,(int*)len_str); //调用函数del_min,加上(int*)强制类型转换为指针
return 0;
}
#include<string.h>
#define N 100
del_min(char *str,int *len_str) //调用函数有两个形参,一个char类型,一个int类型
{
int i = 0;
int j = 0;
int k = 0; //定义并初始化三个循环变量
int count = 0; //定义并初始化一个计数变量
int min_max = 100; //定义需要删除的数组的最大存放限度,即N的大小
int temp[N] = {0}; //定义并初始化一个中间数组用来储存需要删除的下标
for(i = 0; i < (int) len_str; i++) //外层函数遍历数组所有内容,(int) len_str强制类型转换为整型
{
count = 0; //初始化计数变量
for(j = 0; j < (int) len_str; j++) //内层循环用来进行比较是否出现同样的字符
{
if(*(str + i) == *(str + j))
{
count++; //计数变量自增,比较出同样的字符,进行计数
}
}
if(count == min_max) //如果计数变量为min_max说明全为同一字符
{
k++;
temp[k] = i; //全部赋给中间数组进行删除
}
if(count < min_max) //如果小于min_max,min_max进行重新赋值,k=0中间数组首位
{
min_max = count;
k = 0;
temp[k] = i;
}
}
k = 0; //初始化k,以便下面的循环从中间数组的首位进行比较
for(i = 0; i < (int) len_str; i++)
{
if(i == temp[k])
{
*(str + i) = '\0'; //删除中间数组
k++;
}
}
for(i = 0; i < (int) len_str; i++) //循环打印最终数组
{
printf("%c",str[i]);
}
printf("\n");
*str = '\0'; //在最后加上'\0',结束数组
}
int main()
{
int len_str = 0; //定义并初始化数组长度为0
char str[N] = "0"; //定义并初始化数组
printf("Please input a string:\n");
scanf("%s",str); //输入一个字符串
len_str = strlen(str); //表示字符串长度
del_min(str,(int*)len_str); //调用函数del_min,加上(int*)强制类型转换为指针
return 0;
}