对数组A中的N(1<N<=100)个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组A中元素的顺序,且相同的整数要具有相同的编号。例如数组是:A[N]={5,3,4,7,3,5,6},则输出为: 3,1,2,5,1,3,4。 提示:可再定义一个数组B,B[i]记录数组A中下标为i的元素的编号,初始时,数组B中值均为0。第一次对A中的所有元素找最小值,对其编号1,记录在数组B中;第二次对A中未编号的所有元素找最小值,对其编号2,记录在数组B中;……。如此反复,直到对A的所有元素都进行了编号,再输出B的元素值即可。 【输入形式】 两行:第一行为数组A中的整数个数N;第二行是N个整数,整数之间用一个空格隔开。 【输出形式】 N个用空格隔开的整数,每个整数对应表示数组A中的N个整数的编号,编号之间用一个空格隔开。
时间: 2023-05-21 18:05:19 浏览: 135
我可以给出以下代码来解决这个问题:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n, a[100], b[100] = { 0 }, id = 0;
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
for (int i = 0; i < n; i++) {
if (b[i])
continue;
id++;
for (int j = i; j < n; j++) {
if (a[j] == a[i])
b[j] = id;
}
}
for (int i = 0; i < n; i++)
cout << b[i] << " ";
return 0;
}
这个程序定义了两个数组:a存放输入的整数,b初始化为0,用来存放每个整数的编号。使用id变量来记录当前编号。
程序的核心在于两个循环。第一个循环负责遍历整个a数组,因为相同的整数要具有相同的编号,所以如果当前数组元素对应编号已经处理过,就跳过。
第二个循环主要负责找到和a[i]相等的数字,并给它们编号。
最后,将数组b中保存的结果输出即可。
相关问题
对数组a中的n个整数从小到大进行连续编号
可以使用以下代码对数组a中的n个整数从小到大进行连续编号:
1. 首先对数组a进行排序,可以使用sort函数实现:
sort(a, a+n);
2. 然后使用for循环对数组a进行遍历,对每个元素进行编号:
for(int i=; i<n; i++){
a[i] = i+1;
}
3. 最终,数组a中的n个整数就被从小到大进行了连续编号。
帮我用c语言写一个:对数组A中的N(1<N<=100)个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组A中元素的顺序,且相同的整数要具有相同的编号。例如数组是:A[N]={5,3,4,7,3,5,6},则输出为: 3,1,2,5,1,3,4。
以下是对数组A中的N个整数从小到大进行连续编号的C语言代码:
```c
#include <stdio.h>
int main() {
int n, a[100], b[100], i, j, count;
printf("请输入数组长度n:");
scanf("%d", &n);
printf("请输入数组元素:");
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
b[i] = -1; // 初始化编号为-1
}
count = 0;
for (i = 0; i < n; i++) {
if (b[i] == -1) { // 如果该元素还未编号
count++; // 编号加1
for (j = i; j < n; j++) {
if (a[j] == a[i]) { // 如果找到相同的元素
b[j] = count; // 给该元素赋相同的编号
}
}
}
}
printf("各个元素的编号为:");
for (i = 0; i < n; i++) {
printf("%d ", b[i]);
}
return 0;
}
```
输入示例:
```
请输入数组长度n:7
请输入数组元素:5 3 4 7 3 5 6
```
输出示例:
```
各个元素的编号为:3 1 2 5 1 3 4
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)