1  目前自己学习中存在的薄弱的知识点具体有哪些?每个薄弱的知识点都是如何获知的,每个薄弱的知识点需要列举具体的例子说明。(5分)

(1)不太理解实参和形参的传值调用。

(2)有时候调用函数会报错,但是不知道错在哪。

(3)排序方法比如冒泡法、选择法、插入法顺序查找法、折半查找法

(4)指针的引用,在运用的过程中分不清是地址还是指针。

2  从第五章函数到第七章数组的函数题和编程题(主要是在PTA)中选出至少一道你觉得比较有挑战的题(已解决且不是奇奇的题)。写出解题报告包括:(1)题目大意;(2)解题思路;(3)代码思路,比如画出流程图;(4)核心技术总结;(5)解题过程中存在的问题,以及如何得到解决的。(5分)

编写程序,从键盘输入 n (n<10)本书的名称和定价并存入结构数组中,查找并输出其中定价最高书的信息。

思路:在结构体数组中定义书本的名字及价格,通过对比找出最高价书的信息,并且输出书的价格及名字。

核心技术:数组大小的比较及数组的输出。

#include <iostream>
#include <iomanip>
using namespace std;
struct book
{
 char name[81];
 float price;
};
void Input(book &b)
{
 cin.ignore();
 cin.getline(b.name,81);
 cin>>b.price;
}
int main()
{
 int n,i,j,m,k;
 cin>>n;
 book a[n];
 for(i=0;i<n;i++)
  Input(a[i]);
 float y;
 for(i=0;i<n-1;i++)
 {if(a[i].price<a[i+1].price) {y=a[i+1].price; k=i+1;}
  else { y=a[i].price; k=i; } }
 cout<<"highest price: "<<y<<", "<<a[k].name;
 return 0;
}