输入一组非0的整型数,在输入数值0时结束,编写程序将这组数中正的偶数变负,负的奇数翻倍,再输出改变之后的这一组数以及它们的和。 【输入形式】 多个整型数,可包含正数和负数,最后以输入数值0结束。
时间: 2023-03-24 16:03:06 浏览: 155
我可以回答这个问题。以下是程序的实现:
#include <stdio.h>
int main() {
int num, sum = ;
scanf("%d", &num);
while (num != ) {
if (num > && num % 2 == ) {
num = -num;
} else if (num < && num % 2 != ) {
num *= 2;
}
sum += num;
printf("%d ", num);
scanf("%d", &num);
}
printf("\n%d", sum);
return ;
}
程序的思路是:首先读入一个整数,然后进入一个循环,每次读入一个整数,如果这个整数是正的偶数,就将它变为负数;如果这个整数是负的奇数,就将它翻倍;然后将这个数加入到总和中,并输出这个数;最后读入下一个整数,直到读入的整数为,退出循环,输出总和。
相关问题
用c语言编写函数,统计某一维数值中非0元素的个数
可以使用以下代码实现:
```c
int countNonZeroElements(int arr[], int size) {
int count = 0;
for (int i = 0; i < size; i++) {
if (arr[i] != 0) {
count++;
}
}
return count;
}
```
这个函数接收一个整型数组和数组大小作为参数,然后使用循环依次检查数组中的每一个元素是否为非零元素,如果是,则将计数器加1。最后返回计数器的值,即为该数组中非0元素的个数。
用c语言编写函数,求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。
### 回答1:
以下是用C语言编写的函数,功能是统计一组数中大于平均值的数的个数:
```c
#include <stdio.h>
int countAboveAverage(int arr[], int size) {
int sum = 0;
double average;
int count = 0;
// 计算数组元素的总和
for (int i = 0; i < size; i++) {
sum += arr[i];
}
// 计算平均值
average = (double)sum / size;
// 统计大于平均值的数的个数
for (int i = 0; i < size; i++) {
if (arr[i] > average) {
count++;
}
}
return count;
}
int main() {
int arr[] = {1,3,6,9,4,23,35,67,12,88};
int size = sizeof(arr) / sizeof(arr[0]);
int result = countAboveAverage(arr, size);
printf("大于平均值的数的个数为:%d\n", result);
return 0;
}
```
运行结果为:
```
大于平均值的数的个数为:3
```
### 回答2:
以下是一个用C语言编写的示例函数来求一组数中大于平均值的数的个数:
```c
#include <stdio.h>
int countGreaterAverage(int arr[], int size) {
int sum = 0;
int count = 0;
// 计算数组元素的总和
for (int i = 0; i < size; i++) {
sum += arr[i];
}
// 计算平均值
float average = (float)sum / size;
// 统计大于平均值的元素个数
for (int i = 0; i < size; i++) {
if (arr[i] > average) {
count++;
}
}
return count;
}
int main() {
int arr[] = {1,3,6,9,4,23,35,67,12,88};
int size = sizeof(arr) / sizeof(arr[0]);
int result = countGreaterAverage(arr, size);
printf("大于平均值的数的个数:%d\n", result);
return 0;
}
```
运行结果为:
大于平均值的数的个数:3
在示例中,函数`countGreaterAverage`接收一个整数类型的数组和数组大小作为参数。首先,通过使用`for`循环遍历数组计算所有元素的总和。然后,计算数组元素的平均值。最后,使用另一个`for`循环遍历数组,统计大于平均值的元素个数。最后,返回统计值。
在`main`函数中,将给定的一组数传递给`countGreaterAverage`函数,并打印返回的结果。
### 回答3:
可以使用C语言编写一个函数来求一组数中大于平均值的数的个数。实现这个函数的步骤如下:
1. 声明函数原型,函数的名称为calculateGreaterThanAverage,参数为一个整型数组和数组的大小,返回值为大于平均值的数的个数。
2. 在函数体内,首先计算数组中所有元素的和。定义一个变量sum,并将其初始化为0。
3. 遍历整个数组,将数组中的所有元素进行累加计算,将每次的累加结果赋值给sum变量。
4. 计算数组中所有元素的平均值。定义一个变量average,并将其初始化为0。通过将sum除以数组的大小,可以得到平均值。
5. 定义一个变量count,用于记录大于平均值的数的个数,并将其初始化为0。
6. 再次遍历整个数组,判断每个元素是否大于平均值。如果是,count加1。
7. 返回count变量的值,即为大于平均值的数的个数。
以下是用C语言编写的示例代码:
```c
#include<stdio.h>
int calculateGreaterThanAverage(int arr[], int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
float average = (float)sum / size;
int count = 0;
for (int i = 0; i < size; i++) {
if (arr[i] > average) {
count++;
}
}
return count;
}
int main() {
int arr[] = { 1, 3, 6, 9, 4, 23, 35, 67, 12, 88 };
int size = sizeof(arr) / sizeof(arr[0]);
int result = calculateGreaterThanAverage(arr, size);
printf("大于平均值的数的个数为:%d\n", result);
return 0;
}
```
代码中使用两次循环来分别进行累加求和和判断大于平均值的数的个数,最后输出结果3。