题目描述 输入n个整数,并存放在一单链表中,找出最大数并输出。 本题源自教材第53页算法设计题第6题。 “提示”给出了不完整程序,请定义两个函数output()和findMax(),实现预期的输入输出。 输入 先输入整数个数n (2<=n<=10000) 然后输入n个int类型整数。 输出 输入占2行。 第一行按输入顺序依次输出各个元素,元素之间用一个逗号隔开(末尾没有标点符号)。 第二行输出最大数。 样例输入 Copy 6 4 3 -3 -1 234 4355 样例输出 Copy 4,3,-3,-1,234,4355 4355 提示 不完整程序如下: #include<iostream> using namespace std; //定义单链表,参考教材P30 typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; void output(LinkList L); //函数声明 int findMax(LinkList L); //函数声明 //单链表的初始化,参考教材P32 void InitList_L(LinkList &L) { L=new LNode; L->next=NULL; } //尾插法创建单链表,参考教材P37--P38 void CreateList_L(LinkList L,int n) { int i; LinkList p,r; r=L; //cout<<"请依次输入该表的各个元素:"; for(i=0;i<n;i++) { p=new LNode; cin>>p->data; p->next=NULL; r->next=p; r=p; } } int main(void) { LinkList L; int n; cin>>n; InitList_L(L); //链表L的初始化,新建头结点 CreateList_L(L,n); //链表L的创建,依次往单链表L添加n个新结点 output(L); cout<<endl; cout<<findMax(L)<<endl; return 0; } 输出代码
时间: 2023-05-30 10:02:07 浏览: 115
需要自行编写output()和findMax()函数来实现题目要求。其中,output()函数用于按输入顺序输出各个元素,findMax()函数用于找出最大数并输出。在程序中,可以定义一个单链表结构体来存放输入的整数,并在输入时依次将其插入链表中。在findMax()函数中,可以遍历链表,并比较每个节点的值来得到最大数。最后,在output()函数中,可以遍历链表并输出每个节点的值,用逗号隔开。
相关问题
题目描述 输入nn个整数,存放在列表中,输出最大数所在位置(n≤1000)。 输入输出格式 输入格式 n个正整数。 输出格式 最大数所在位置。
算法思路:
1. 输入n和n个整数,存储在一个列表中。
2. 遍历列表,找到最大值以及其所在的位置。
3. 输出最大值所在的位置。
Python代码实现:
```python
n = int(input()) # 输入n
a = list(map(int, input().split())) # 输入n个整数并存储在列表a中
max_num = a[0] # 假设第一个数为最大值
max_index = 0 # 最大值所在的下标
for i in range(1, n):
# 如果当前数大于最大值,更新最大值和最大值所在的下标
if a[i] > max_num:
max_num = a[i]
max_index = i
print(max_index + 1) # 输出最大值所在的位置(下标加1)
```
注意:最大值所在的位置应该输出下标加1,因为题目要求的是位置而不是下标。
输入8个整数放入一维数组w中,找出其中最小和最大数,然后输出。
假设输入的8个整数分别是1, 5, 3, 8, 9, 2, 4, 7,我们可以通过以下代码来找出其中的最小和最大数并输出:
```python
# 定义一个包含8个整数的一维数组
w = [1, 5, 3, 8, 9, 2, 4, 7]
# 找出数组中的最小数和最大数
min_num = w[0]
max_num = w[0]
for num in w:
if num < min_num:
min_num = num
if num > max_num:
max_num = num
# 输出最小数和最大数
print("最小数为:", min_num)
print("最大数为:", max_num)
```
输出结果为:
```
最小数为: 1
最大数为: 9
```