第三次作业
Posted zt123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三次作业相关的知识,希望对你有一定的参考价值。
作业要求一
讨论查阅分析
struct sk{int a; char str)}p; p->str++ 中的++ 加向str
作业要求二
题目1查找书籍中最高价及最低价
1 设计思路
(1)主要描述题目算法
第一步:先构建一个结构体,定义书名name和价格cost。
第二步:定义输入书籍的个数,用if语句将书名和价格依次输入。
第三部:运用选择排序法,暂且定义i=0为最大值,将i=1,i=2之类的相比较,寻找出最大值,最小值同理。输出时注意分行,保留两位小数即可。
(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.本题调试过程碰到问题及解决办法
错误信息:输出结果错误。
错误原因:没有考虑到输出n以后需要换行的问题。
改正方法:请教了同学。
题目2 计算平均成绩
1 设计思路
(1)主要描述题目算法
第一步:先构建一个结构体,定义num,name长度和双精度的成绩s。
第二步:定义需要输入学生的个数,平均成绩暂定义为零,然后再用if语句输出n个学生的num,name和成绩s。
第三部:计算平均成绩,保留两位小数输出,再用if语查找成绩低于平均成绩的,输出name和num。
(2)流程图:
2.实验代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct student
{
char num[20];
char name[20];
double s;
};
int main()
{
struct student s[1000];
int i,n;
double aver=0;
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++)
{
aver= aver + s[i].s;
}
aver=aver/n;
printf("%.2f\\n",aver);
for(i=0;i<n;i++)
{
if(s[i].s<aver)
{
printf("%s %s\\n",s[i].name,s[i].num);
}
}
return 0;
}
3.本题调试过程碰到问题及解决办法
错误信息:输出结果错误。
错误原因:成绩输入错误。
改正方法:请教了同学。
要求三、学习总结和进度
Git地址:https://git.coding.net/zhoutian/test.git
以上是关于第三次作业的主要内容,如果未能解决你的问题,请参考以下文章