zoukankan      html  css  js  c++  java
  • 第三次作业

    作业要求二

    题目一:计算平均成绩
    1 设计思路
    (1)主要描述题目算法
    第一步:看到N个学生的多种信息 想到使用结构体和数组,所以在结构体中定义学号,姓名和成绩。
    第二步:多个学生依次输入成绩要使用for循环并注意输入格式。
    第三步:要求输出平均成绩线以下的学生名单,所以算出平均成绩后要把每个学生的成绩与平均成绩相比较,使用if,else。
    (2)流程图

    2.实验代码

    #include<stdio.h>
    struct student{
    	int num;
    	char name[10];
    	int grade;
    };
    int main()
    {
    	int N,i=0,num=0;
    	float aver=0;
    	scanf("%d",&N);
    	struct student s[N],*p;
    	p=s;
    	for(i=0;i<N;i++,p++)
    	{
    		scanf("%d%s%d",&p->num,p->name,&p->grade);
    		num=num+p->grade;
    	}
    	if(N==0)
    	aver=0;
    	else
    	aver=num/(N*1.0);
    	printf("%.2f
    ",aver);
    	p=s;
    	for(i=0;i<N;i++,p++)
    	{
    		if(p->grade<aver)
    		printf("%s %.5d
    ",p->name,p->num); 
    	}
    }

    3.本题调试过程碰到问题及解决办法
       错误原因:结构体大括号后面忘记分号。

       改正方法:和老师上课的代码进行比较。

    题目二:查找书籍
    1 设计思路
    (1)主要描述题目算法
    第一步:给出相应结构体,定义最高价和最低价。
    第二步:进行多次比较,使用for循环。
    第三步:按格式输出。
    (2)流程图


    2.实验代码

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    
    int main()
    {
        struct book
        {
            char name[300];
            double price; 
        }now,max,min;
    
        max.price=0;
        min.price=999999999999999999;
        int n,i;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
            getchar();
            gets(now.name);
            scanf("%lf",&now.price);
            if(now.price>max.price)
            {
                strcpy(max.name,now.name);
                max.price=now.price;
            }
            if(now.price<min.price)
            {
                strcpy(min.name,now.name);
                min.price=now.price;
            }
        }
        printf("%.2lf, %s
    %.2lf, %s",max.price,max.name,min.price,min.name);
    
        return 0;
    }

    3.本题调试过程碰到问题及解决办法
       错误原因:定义价格的时候使用了整型。
       改正方法:警告我而且输出的东西乱七八糟然后仔细看了一下题目。

    要求三、学习总结和进度
    1、总结两周来所有PTA作业中每个题目所使用的知识点。

    结构体与指针。
    2、将PTA作业的源代码使用git提交到托管平台上,要求给出上传成功截图和你的git地址。

    https://git.coding.net/wangjiale0616/diyizhouzuoye.git

     

  • 相关阅读:
    1062 Talent and Virtue (25 分)
    1083 List Grades (25 分)
    1149 Dangerous Goods Packaging (25 分)
    1121 Damn Single (25 分)
    1120 Friend Numbers (20 分)
    1084 Broken Keyboard (20 分)
    1092 To Buy or Not to Buy (20 分)
    数组与链表
    二叉树
    时间复杂度与空间复杂度
  • 原文地址:https://www.cnblogs.com/wjl1124/p/8892961.html
Copyright © 2011-2022 走看看