C语言问题 把一个数组中的重复元素去掉

Python016

C语言问题 把一个数组中的重复元素去掉,第1张

#define _CRT_SECURE_NO_DEPRECATE

#include <iostream>

#include <string>

#include <algorithm>

using namespace std

去掉字符串中重复的字符并排序

int main()

{

string input

while (cin>>input)

{

int count = 0// 统计有多少个空格

for (int i = 0i <input.size()i++)

{

for (int j = i+1j <input.size()j++)

{

if (input[i] == ' ')

break

if (input[i] == input[j])

{

input[j] = ' '

count++

}

}

}

int newsize = input.size() - count

string str(newsize,'0')  //创建一个长为newsize,用‘0’填充的字符串

int j = 0

for (int i = 0i <input.size()i++)

{

if (input[i] != ' ')

{

str[j] = input[i]

j++

}

sort(str.begin(), str.end())

cout <<str<<endl

}

}

扩展资料:

while语句若一直满足条件,则会不断的重复下去。但有时,需要停止循环,则可以用下面的三种方式:

一、在while语句中设定条件语句,条件不满足,则循环自动停止。

如:只输出3的倍数的循环;可以设置范围为:0到20。

二、在循环结构中加入流程控制语句,可以使用户退出循环。

1、break流程控制:强制中断该运行区内的语句,跳出该运行区,继续运行区域外的语句。

2、continue流程控制:也是中断循环内的运行操作,并且从头开始运行。

#include <stdio.h>

void main()

{

int a[5]={90,45,67,87,50}

int i,max,min,sum

double average

sum=0

max=a[0]

min=a[0]

for(i=0i<5i++)

{

if(max<a[i])

max=a[i]

if(min>a[i])

min=a[i]

sum=sum+a[i]

}

average=(double)(sum-max-min)/3

printf("\nThe max=%d\n",max)

printf("\nThe min=%d\n",min)

printf("\nThe average is:%f\n",average)

printf("\n")

}

扩展资料:

1、类型说明符是任意一种基本数据类型或构造数据类型。对于同一个数组,其所有元素的数据类型都是相同的。

2、数组名是用户定义的数组标识符,书写规则应符合标识符的书写规定。

3、方括号中的常量表达式表示数据元素的个数,也称为数组的长度。

4、允许在同一个数据说明中,说明多个数组和多个变量。

例:int a,b,c,d,k1[10],k2[2]

5、a[7]表示a数组有7个元素,注意下标是从0开始的,这7个元素是a[0],a[1],a[2],a[3],a[4],a[5],a[6]。不存在数组元素a[7]。

6、C语言不允许对数组的大小做动态定义,即数组的大小不依赖于程序运行过程中变量的值。

C语言删除数组指定元素的源代码如下:

#include <stdio.h>

main()

{

char s[80],c

int j,k

printf("\nEnter a string: ")

gets(s)

printf("\nEnter a character: ")

c=getchar( )

for(j=k=0s[j]!= '\0'j++)

if(s[j]!=c)

s[k++]=s[j]

s[k]= '\0'

printf("\n%s\n",s)

system("pause")

}

扩展资料

自定义函数代码如下

function delarrayval2($arr,$v){

$keyarr = array_keys($arr, $v)

if(count($keyarr)){

foreach ($keyarr as $key) {

unset($arr[$key])

}

}

return $arr

}