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
}