c++编程序,由键盘输入任意多个正整数(总数少于30个)放入数组a中,输入"-1"结束(-1不算作被处理数据)。而后求出所输入数据的平均值avg,并将输入数据按照与输入相反的顺序输出,每行输出5个元素。 要求输入输出界面设计为如下的示例样式: 1 2 3 4 5 6 7 8 9 9 -1 avg=5.4 9 9 8 7 6 5 4 3 2 1
时间: 2023-02-27 10:47:06 浏览: 57
以下是 C 语言代码示例:
```
#include <stdio.h>
#define MAX_NUM 30
int main()
{
int a[MAX_NUM];
int i = 0, j;
int sum = 0;
int num;
int avg;
printf("请输入数字(-1结束):\n");
scanf("%d", &num);
while (num != -1) {
a[i++] = num;
sum += num;
scanf("%d", &num);
}
avg = sum / i;
printf("avg=%.1f\n", (float)avg);
for (j = i - 1; j >= 0; j--) {
printf("%d ", a[j]);
if ((j + 1) % 5 == 0) {
printf("\n");
}
}
return 0;
}
```
输入输出界面示例如下:
```
请输入数字(-1结束):
1 2 3 4 5 6 7 8 9 9 -1
avg=5.4
9 9 8 7 6
5 4 3 2 1
```
相关问题
用c++实现输入多个正整数(以-1为结束符),找出最大的数并输出结果。
以下是使用 C++ 编写的代码来找出输入的多个正整数中的最大值并输出结果:
```cpp
#include <iostream>
int main() {
int num, maxNum = 0;
std::cout << "请输入多个正整数(以-1结束):" << std::endl;
while (true) {
std::cin >> num;
if (num == -1) {
break;
}
if (num > maxNum) {
maxNum = num;
}
}
std::cout << "最大的数是:" << maxNum << std::endl;
return 0;
}
```
上述代码中,我们使用了一个 while 循环来接收用户输入的正整数。当用户输入 -1 时,循环终止。在循环过程中,我们通过比较每个输入的数与当前的最大值来更新最大值。最后,我们输出找到的最大值。
请注意,上述代码假设用户至少输入一个正整数,并且输入的数不会超过 int 类型的范围。如果需要更多的输入校验和错误处理,可以在代码中进行相应的修改。
C++指针方式键盘输入数组,最多2000个数,输入-1为停止输入标志
可以使用指针来输入数组,以下是一个示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int arr[2000];
int* ptr = arr; // 指向数组的指针
int num;
cout << "请输入数字,以-1结束输入:" << endl;
while (true) {
cin >> num;
if (num == -1) {
break;
}
*ptr = num; // 将输入的数字赋值给数组
ptr++; // 指针移动到下一个元素
}
// 输出数组内容
cout << "输入的数组为:";
for (int i = 0; i < ptr - arr; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
在这个示例代码中,我们定义了一个大小为2000的数组`arr`,并将指向数组的指针`ptr`初始化为数组的首地址。然后通过循环输入数字,每次将输入的数字赋值给指针指向的数组元素,并将指针移动到下一个元素。当输入-1时,循环结束。最后,我们通过遍历数组的方式输出数组的内容,其中`ptr - arr`表示数组中实际存储的元素个数。