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流程控制:也是中断循环内的运行操作,并且从头开始运行。
#include <stdio.h> // 升序数组srcvoid sort(int *src, int len){ int tem for (int i = 0 i < len i++) { for (int j = 0 j < len - i - 1 j++) if (src[j] > src[j+1]) { tem = src[j] src[j] = src[j+1] src[j+1] = tem } }} int main(){ int num[10] = {0, 2, 5, 1, 1, 5, 4, 9, 2, 1}, d int i = 0, cnt sort(num, 10) // 排序 d = num[0] for (i = 1 i < 10 i++) // 遍历比较 { if (num[i] != d) { printf("%d ", d) d = num[i] } } if (num[9] == d) printf("%d\n", d) return 0}