c语言问题数组去重

Python016

c语言问题数组去重,第1张

#include <stdio.h>

int main()

{

 int m, n, i, cur, pre

 scanf("%d", &m)

 

 while (m--)

 {

  scanf("%d", &n)

  scanf("%d", &cur)

  pre = cur

  printf("%d ", cur)

  for (i = 1 i < n i++)

  {

   scanf("%d", &cur)

   if (cur != pre)

   {

    pre = cur

    printf("%d ", cur)

   }

  }

  printf("\n")

 }

 

 return 0

}

#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流程控制:也是中断循环内的运行操作,并且从头开始运行。

1

/*

2

思路:

3

将字符串存入字符数组a中,设将值拷贝给数组b,遍历b的每个元

4

素,与a中的每个元素比较,有相同则b中对应元素置为-1。

5

输出b中不为-1的元素。

6

*/

7

#include<stdio.h>

8

#include<string.h>

9

char

a[100],b[100]

10

void

Del(int

index,int

len){

11

for(int

i=0i<leni++){

12

if(index

==

i)

continue//下标相同即同一个元素不比较,进入下一个循环

13

if(b[index]

==

a[i])

b[index]=-1//有相同元素,置值为

-1

14

}

15

}

16

int

main(){

17

gets(a)

18

memcpy(b,a,sizeof(a))//将a的元素拷贝给b

19

int

len=strlen(a)//求a的长度

20

for(int

i=0i<leni++){

21

Del(i,len)

22

}

23

for(int

i=0i<leni++){//输出b中非-1的元素

24

if(b[i]!=-1){

25

printf("%c",b[i])

26

}

27

}

28

return

0

29

}