第三次作业
2018-04-23 20:39 史晨宇 阅读(191) 评论(2) 编辑 收藏 举报作业要求一 (20分)
1 完成PTA结构部分编程1和2,采用函数编程3
2 课上疑点:讨论查阅分析 struct sk{int a; char *str)}*p; p->str++ 中的++ 加向________? 答:p中字符指针str
作业要求二(60分)
题目1查找书籍中最高价及最低价
题目2 计算平均成绩
1 设计思路(6分)
(1)主要描述题目算法(1分)。可以用文字描述(不允许使用伪代码),如:
第一步:在程序中建立所需的结构体类型,定义结构体数组,书名,价格。
第二步:利用for循环输入要比较的书籍本书,书名和价格。
第三步:实现数据输入后,在同一个for循环中进行价格高低的比较。找到最高及最低的价格后按要求输出。
(2)流程图(4分)
2.实验代码(2分)
#include<stdio.h> #include<string.h> #include<stdlib.h> struct book { char name[31]; double cost; }; main() { struct book s[10]; int i,n; scanf("%d",&n); for(i=0;i<n;i++) { scanf("\n"); gets(s[i].name); scanf("%lf",&s[i].cost); } int max=0,min=0; for(i=1;i<n;i++) { if(s[i].cost>s[max].cost){max=i;} if(s[i].cost<s[min].cost){min=i;} } printf("%.2f, %s\n",s[max].cost,s[max].name); printf("%.2f, %s",s[min].cost,s[min].name); }
3.本题调试过程碰到问题及解决办法(12分)
错误信息采用以下格式
错误信息1:(可以截图表示)
错误原因:未调用数据库这个玩意 #include<string.h>
改正方法:照着同学加上的
题目2 计算平均成绩
1 设计思路(6分)
(1)主要描述题目算法(1分)。、
第一步:在程序中建立所需的结构体类型,定义学生信息的结构体。
第二步:定义个n人和分数总和sum,利用for循环输入n个学生的基本信息和n个学生累加的成绩。计算出平均成绩值。
第三步:利用for循环找出成绩低于平均分的同学,输出相关信息。
2.实验代码(2分)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct score{
char num[20];
char name[20];
double s;
};
int main(){
struct score s[100];
int i,n;
double sum=0,average;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s%s%lf",&s[i].num,&s[i].name,&s[i].s);
}
for(i=0;i<n;i++){
sum=sum+s[i].s;
}
average=sum/n;
printf("%.2f\n",average);
for(i=0;i<n;i++){
if(s[i].s<average){
printf("%s %s\n",s[i].name,s[i].num);
}
}
return 0;
}
3.本题调试过程碰到问题及解决办法(12分)
错误原因:未调用数据库这个玩意 #include<string.h>
改正方法:照着同学加上的
要求三、学习总结和进度(20分)
指针与结构作业中题目所使用的知识点。(10分)
指针变量的定义、引用,指针与函数,指针与数组,指针与字符串