第三次作业
作业要求一
2 课上疑点:讨论查阅分析 struct sk{int a; char str)}p; p->str++ 中的++ 加向________?
答:加向str。
作业要求二
题目1查找书籍中最高价及最低价
1 设计思路
(1)主要描述题目算法。
第一步:写好基本结构,然后写好书籍的结构体。
第二步:输入n的值,然后用for循环输入所要查找书籍的相关信息。
第三步:定义两个变量,利用for循环在其中找出最大最小值,然后复值给这两个变量,然后分别输出相关信息就行。
(2)流程图
2.实验代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct book
{
char name[31];//名字中有空格,所以最好多加一些
double cost;
}s[10];
main()
{
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);
system ("pause");
}
3.本题调试过程碰到问题及解决办法
答:在第一次完成之后就显示答案错误,然后找了许久才发现原因。因为定义名字的时候(char name[31])没有算上‘\0’的位置,经过改正就对了。
计算平均成绩
1 设计思路
(1)主要描述题目算法。
第一步:写好基本框架,然后定义学生信息的结构体。
第二步:定义个n人和分数总和sum,然后用for循环输入n个学生的基本信息和累加n个学生的成绩。之后计算出平均成绩值。
第三步:利用for循环找出成绩低于平均分的同学,然后输出相关信息。
2.实验代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student
{
char name[10];
char num[5];
int score;
}s[10];
main()
{
int i,n;
float sum=0,ave;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %s %d",s[i].num,s[i].name,&s[i].score);
sum=s[i].score+sum;
}
ave=sum/(n*1.0);
printf("%.2f\n",ave);
for(i=0;i<n;i++)
{
if(s[i].score<ave)
{
printf("%s %s\n",s[i].name,s[i].num);
}
}
system("pause");
}
3.本题调试过程碰到问题及解决办法
答:这题比较简单,没有问题。
题目1查找书籍中最高价及最低价
1 设计思路
(1)主要描述题目算法。
第一步:编写函数,利用for循环再用if,else if来找出不同的年龄段。并且计数分数在六十分以下的人数sum。
第二步:返回sum的值。
2.实验代码
int set_grade( struct student *p, int n )
{
int i,sum=0;
for(i = 0; i < n; i++,p++)
{
if(p->score>=85){p->grade='A';}
else if(p->score>=70){p->grade='B';}
else if(p->score>=60){p->grade='C';}
else {p->grade='D';sum++;}
}
return sum;
}
3.本题调试过程碰到问题及解决办法
要求三、学习总结和进度
1>:指针与结构作业中题目所使用的知识点:
对于结构体的函数调用则跟普通函数调用一样,将类型说明换成结构体类型。
1.指针中代表取地址符,即一个指针变量加上相当于一个变量
2.指针表达式可以加或减一个整型数据,使指针指向下一个存储单元。
3.一般定义指针时都会先把指针定义为空指针NULL。
4.字符型指针可以直接赋值字符串,不过指针存储的是字符串的第一个字符的地址。
5.所以不能使用strcpy将字符串直接复制到另一数组中,
6.链表一般是结构体指针,注意插入链表和拆分链表。
2>,将PTA作业的源代码使用git提交到托管平台上,
我的git代码为:
https://git.coding.net/AI1452349541/H.K.2.2.git
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述