用c语言输入一个整形数组,输出每一个数所占的所有数总和的百分比。
时间: 2024-02-23 13:58:00 浏览: 33
好的,以下是用 C 语言实现输入整形数组,计算每个数所占所有数总和百分比的代码示例:
```c
#include <stdio.h>
int main() {
int n, i, sum = 0;
printf("请输入数组的大小:");
scanf("%d", &n);
int arr[n];
printf("请输入 %d 个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
sum += arr[i];
}
printf("数组所有数总和为:%d\n", sum);
printf("每个数所占的所有数总和的百分比为:\n");
for (i = 0; i < n; i++) {
float percentage = ((float)arr[i] / sum) * 100;
printf("%d 占总和的百分比为:%.2f%%\n", arr[i], percentage);
}
return 0;
}
```
代码中,我们首先输入数组的大小和具体数值,然后计算所有数的总和。接着,我们遍历数组,计算每个数所占的所有数总和百分比,最后输出结果。
希望这个代码对你有帮助!
相关问题
用C语言输入一个数组进行随机输出
以下是一个简单的C语言程序,能够实现输入一个数组并随机输出:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int arr[10], i, j, temp;
srand(time(0)); // 初始化随机数种子
printf("请输入数组元素:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 打乱数组顺序
for (i = 0; i < 10; i++) {
j = rand() % 10;
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
printf("随机输出的数组元素为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序的基本思路是:
1. 通过 `scanf` 函数输入数组元素;
2. 使用 `srand` 函数初始化随机数种子,确保每次运行程序时,生成的随机数序列是不同的;
3. 使用 `rand` 函数生成随机数,交换数组中的元素,从而打乱数组的顺序;
4. 使用 `printf` 函数输出打乱后的数组元素。
希望这个程序能够帮到您。
C语言 连续输入两个整形数组,每个数组以'#'结束
好的,以下是一个示例程序,用于连续输入两个整型数组,并以 '#' 结束:
```c
#include <stdio.h>
#define MAX_SIZE 100
void inputArray(int arr[], char endChar) {
int i = 0;
int num;
printf("请输入整型数组,以'%c'结束:\n", endChar);
while (scanf("%d", &num) == 1) {
arr[i] = num;
i++;
if (i >= MAX_SIZE || getchar() == endChar) {
break;
}
}
}
void printArray(int arr[]) {
printf("数组元素:");
for (int i = 0; i < MAX_SIZE; i++) {
if (arr[i] == 0) {
break;
}
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr1[MAX_SIZE] = {0};
int arr2[MAX_SIZE] = {0};
inputArray(arr1, '#');
inputArray(arr2, '#');
printf("第一个数组:\n");
printArray(arr1);
printf("第二个数组:\n");
printArray(arr2);
return 0;
}
```
您可以按照程序提示依次输入两个整型数组,每个数组以 '#' 结束。程序会将输入的数组打印输出。请注意,程序中设置了最大数组大小为100,您可以根据需要进行调整。