用c++实现输入多个正整数(以-1为结束符),找出最大的数并输出结果。
时间: 2024-04-08 18:33:21 浏览: 15
以下是使用 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++输入若干个整数,以-1标记输入结束。输出其中的最大数
好的,我可以帮你解决这个问题。你可以参考下面的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int max_num = INT_MIN; // 初始化最大数为最小整数
int num; // 用于存储输入的整数
cout << "请输入整数(以-1结束):" << endl;
while (true) {
cin >> num;
if (num == -1) {
break; // 输入-1时退出循环
}
if (num > max_num) {
max_num = num; // 更新最大数
}
}
cout << "最大数为:" << max_num << endl;
return 0;
}
```
这段代码中,我们首先定义一个变量 `max_num`,用于存储最大数,初始化为最小整数。然后进入一个循环,不断从标准输入中读取整数,如果读取到-1,则退出循环;否则,将读取到的整数与 `max_num` 进行比较,如果更大则更新 `max_num`。最后输出 `max_num` 即可。
希望能帮助到你!
用c++实现输入一个单链表,当输入-1时,停止输入,找出单链表中最大的数
以下是用C++实现输入一个单链表,并找出单链表中最大的数的代码:
```c++
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
int findMax(ListNode* head) {
int maxVal = INT_MIN;
ListNode* p = head;
while (p != NULL) {
if (p->val > maxVal) {
maxVal = p->val;
}
p = p->next;
}
return maxVal;
}
int main() {
ListNode* head = NULL;
ListNode* tail = NULL;
int num;
cout << "请输入单链表的值,输入-1结束:" << endl;
while (cin >> num && num != -1) {
ListNode* node = new ListNode(num);
if (head == NULL) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
}
int maxVal = findMax(head);
cout << "单链表中最大的数为:" << maxVal << endl;
return 0;
}
```
程序首先定义了一个单链表的节点结构体 `ListNode`,包含一个整型变量 `val` 和一个指向下一个节点的指针 `next`。接着定义了一个函数 `findMax`,用于找出单链表中最大的数。该函数使用一个指针 `p` 遍历单链表,同时维护一个变量 `maxVal` 记录当前最大的数。当遍历到一个节点时,如果该节点的值比 `maxVal` 大,则更新 `maxVal`。最后返回 `maxVal`。
在 `main` 函数中,程序使用一个循环读入用户输入的单链表。如果输入的值为 -1,则停止输入。每次读入一个值后,程序创建一个新的节点,并将该节点添加到单链表的末尾。如果单链表为空,则将新节点设置为头节点。否则,将新节点添加到尾节点的后面。在读入完整个单链表后,程序调用 `findMax` 函数找出最大的数,并输出结果。