用c语言输入一个数组,将数组的重复项删除并输出新数组
时间: 2024-06-11 19:07:11 浏览: 65
这里提供一种简单的方法:
```
#include <stdio.h>
int main() {
int arr[100], n, i, j, k;
printf("请输入数组长度:");
scanf("%d", &n);
printf("请输入数组元素:");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; ) {
if (arr[j] == arr[i]) {
for (k = j; k < n; k++) {
arr[k] = arr[k + 1];
}
n--;
} else {
j++;
}
}
}
printf("新数组为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
首先输入数组长度和元素,然后通过两重循环,依次比较数组中的元素,如果有重复的,则将后面的元素向前移动一位,然后将数组长度减一。最后输出新数组即可。
相关问题
c语言输入一个数组求平均值
要求输入一个数组并求出其平均值,可以使用C语言编写。首先,我们需要确定数组的大小,并声明一个变量来存储数组元素的总和。然后,通过循环将数组的每个元素依次加到总和变量中。最后,利用数组的大小计算平均值。
以下是C语言程序的示例:
```c
#include <stdio.h>
int main() {
int arr[100]; // 假设数组最大大小为100
int size, sum = 0;
printf("请输入数组的大小:");
scanf("%d", &size);
printf("请输入数组的元素(按顺序输入数字并用空格分隔):");
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
sum += arr[i];
}
float average = (float)sum / size;
printf("数组的平均值为:%.2f", average);
return 0;
}
```
在程序运行时,首先要求用户输入数组的大小,然后按照提示输入每个元素。程序将使用循环逐个加到总和变量中。最后,通过将总和除以数组的大小,计算出平均值,并打印输出。在此例中,我们使用了`%.2f`格式来保留两位小数。
请注意,示例程序假设数组的最大大小为100。如果用户输入的大小超过了这个限制,程序可能会出现问题。为了避免这种情况,建议在实际使用时添加对数组大小的合法性检查。
用c语言输入一个数组的值,数组长度小于10,将数组中的值按逆序重新存放并输出,输入2行数据,第一行为数组元素的个数,第二行为数组元素的值,输出各占一行
好的,下面是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int arr[n];
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
for(int i = n-1; i >= 0; i--) {
printf("%d\n", arr[i]);
}
return 0;
}
```
这个程序首先读入数组的长度n,然后读入n个整数存入数组中。接着从后向前遍历数组,每次输出一个元素,即可得到逆序输出的结果。注意每个元素输出结束后要换行。
阅读全文