买cms做网站,php网站维护,网站制作广告,最新国际消息#include bits/stdc.h
using namespace std;
int main()
{int n; // 数组长度cin n; // 输入数组长度int arr[n]; // 定义整数数组#xff0c;用于存储输入的整数// 输入数组元素for (int i 0; i n; i){cin arr[i];}int e 0; // 计数器bits/stdc.h
using namespace std;
int main()
{int n; // 数组长度cin n; // 输入数组长度int arr[n]; // 定义整数数组用于存储输入的整数// 输入数组元素for (int i 0; i n; i){cin arr[i];}int e 0; // 计数器记录重复元素个数// 去重for (int i 0; i n; i){for (int j 0; j n; j){if (i ! j arr[i] arr[j]) // 如果存在不同下标 i 和 j且元素相等{arr[j] 0; // 将重复的元素置为 0if (arr[i] ! 0){e; // 计数器加一}}}}// 升序排序for (int i 0; i n; i){for (int j 0; j n; j){if (arr[i] arr[j]) // 如果前一个元素小于后一个元素{swap(arr[i], arr[j]); // 交换元素位置}}}cout n - e endl; // 输出去重后数组的长度// 输出去重后的升序数组for (int i 0; i n; i){if (arr[i] ! 0) // 输出非零元素{cout arr[i] ;}}
}代码逻辑如下
输入一个整数 n表示数组的长度。创建一个名为 arr 的整数数组用于存储输入的整数。通过循环读取 n 个整数将其存储到数组 arr 中。使用两层循环遍历数组 arr如果存在两个不同的下标 i 和 j 且 arr[i] arr[j]则将 arr[j] 置为 0并增加计数器 e 的值。再次使用两层循环对数组 arr 进行冒泡排序将较大的数向后移动。输出去重后数组的长度 n - e。遍历数组 arr输出非零元素。