作者:OkzYa-_916 | 来源:互联网 | 2023-10-10 12:07
作业要求一1完成PTA2struct{intlen;charstr;}p;是个指针定义,p->str++必须加在之后的语句上作业要求二题目1查找书籍中最高价及最低价
作业要求一
1 完成PTA
2 struct { int len; char str; } p;是个指针定义,p->str++必须加在之后的语句上
作业要求二
题目1查找书籍中最高价及最低价
1.设计思路
(1)主要描述题目算法
第一步:建立结构体,包括书名和价格
第二步:在主函数中定义变量,找到书籍价格的最高价及最低价,先输入要比较的书籍本书,然后依次输入书名和价格,利用for循环
第三步:找出书籍中的最高价和最低价,分别输出他们的名字和价格
(2)流程图
2.实验代码
#include
#include
struct book
{
char name[50];
double price;
}b[10];
int main()
{
int n,i,min=0,max=0;
scanf("%d",&n);
for(i=0;i)
{
scanf("\n");
gets(b[i].name);
scanf("%lf",&b[i].price);
if(b[i].price>b[max].price)
{
max=i;
}
if(b[i].price<b[min].price)
{
min=i;
}
}
printf("%.2lf, %s\n",b[max].price,b[max].name);
printf("%.2lf, %s\n",b[min].price,b[min].name);
return 0;
}
3.本题调试过程碰到问题及解决办法
在DEV C++上运行多次,正确了之后提交到PTA,发现还是编译错误,查找后发现是符号的问题,而在C++上出现的问题是循环结构使用出错
题目2 计算平均成绩
1.设计思路
(1)主要描述题目算法
第一步:建立结构体,包括学生的学号,姓名,成绩
第二步:在主函数中,定义变量,然后输入学生人数,利用for循环依次输入学生学号,姓名,成绩
第三步:求出所有同学的成绩总和,然后求出平均值
第四步:输出平均分以下学生的成绩,与平均值进行比较,低于平均成绩进行输出
(2)流程图
2.实验代码
#include
#define MAXN 10
struct student{
int num;
char name[20];
int score;
char grade;
};
int set_grade( struct student *p, int n );
int main()
{ struct student stu[MAXN], *ptr;
int n, i, count;
ptr = stu;
scanf("%d\n", &n);
for(i = 0; i ){
scanf("%d%s%d", &stu[i].num, stu[i].name, &stu[i].score);
}
count = set_grade(ptr, n);
printf("The count for failed (<60): %d\n", count);
printf("The grades:\n");
for(i = 0; i )
printf("%d %s %c\n", stu[i].num, stu[i].name, stu[i].grade);
return 0;
}
3.本题调试过程碰到问题及解决办法
在C++中调试后输入到PTA中,在C++中出现了问题,在struct那里用的不太顺利
要求三、学习总结和进度
1、指针与结构作业中题目所使用的知识点
作业中使用了结构体的定义与引用
2、将PTA作业的源代码使用git提交到托管平台上,要求给出上传成功截图和你的git地址