第二次博客作业
1 目前自己学习中存在的薄弱的知识点具体有哪些?每个薄弱的知识点都是如何获知的,每个薄弱的知识点需要列举具体的例子说明。
薄弱的地方有输入和字符数组。
先再书本上看的,再到网上找相关内容。
输入的时候有cin,cin.getline(),getchar(),get(),不太理解使用这么多种输入的意义。字符数组可以不要求最后一个字符为‘/0’,但 是字符串最后一定得是‘/0’,所以一般使用字符数组a【n】,n要比输入最大位数多1。
2 从第五章函数到第七章数组的函数题和编程题(主要是在PTA)中选出至少一道你觉得比较有挑战的题(已解决且不是奇奇的题)。写出解题报 告包括:(1)题目大意;(2)解题思路;(3)代码思路,比如画出流程图;(4)核心技术总结;(5)解题过程中存在的问题,以及如何得 到解决的。
7-2 查找单价最高的书 (10 分)
(1) 编写程序,从键盘输入 n (n<10)本书的名称和定价并存入结构数组中,查找并输出其中定价最高书的信息。
(2) 定义结构体,运用数组,通过比较每个数组里面结构体中价格元素的大小查出价格最高的书。
(3) 代码:
#include<iostream> for(int i = 0;i<n;i++)
#include<iomanip> {
#include<string> cin.getline(book[i].s, 35);//gets遇到空格不返回,cin,scanf遇空格返回
using namespace std; cin>>book[i].price;
struct student getchar();
{ }
char s[35]; double mix=0;
double price; double max=0;
}; for(i=0;i<n;i++)
int main() {
{ f(book[i].price>max)
int n, i, k=0, j=0; {
student book[15]; max=book[i].price; j=i}}
cin>>n; cout<<"highest price: "<<fixed<<setprecision(1)<<max<<", "<<book[j].s<<endl;
getchar();//输入缓冲区 return 0;}
(4) 核心技术总结:结构体的运用。
(5) 存在问题:输入时只能输入第一本书,遇空格结束,学会用getchar()和cin.getline()输入 。