第四次作业

6-1 按等级统计学生成绩

1.设计思路:

(1)见题明义:本题考核学生对结构体指针的使用。

(2)设计思路:运用结构体指针使用结构体。

(3)流程图:无

2.实验代码:

int set_grade( struct student *p, int n )
{
	int k=0;
	for(int i=0;i<n;i++)
	{
		if((p+i)->score>=85)
		{
			(p+i)->grade='A';
		}
		else if((p+i)->score<85&&(p+i)->score>=70)
		{
			(p+i)->grade='B'; 
		}
		else if((p+i)->grade<70&&(p+i)->score>=60)
		{
			(p+i)->grade='C';
		}
		else
		{
			(p+i)->grade='D';
			k++;
		}
	}
	return(k);
}

  

3.调试过程中碰到的问题和解决办法:

没有问题

git地址:https://git.coding.net/linghundouluo67/sk.git

6-2 结构体数组按总分排序

1.设计思路:

(1)见题明义:本题考核学生对结构体指针的使用以及对排序法的综合。

(2)设计思路:运用结构体指针使用结构体,运用冒泡排序法将结构体数组的顺序进行整改。

(3)流程图:无

2.实验代码:

void calc(struct student *p,int n)
{
    
    for(int i=0;i<n;i++)
    {
        (p+i)->sum=0;
        for(int j=0;j<3;j++)
        {
            (p+i)->sum+=(p+i)->score[j];
        }
    } 
}
void sort(struct student *p,int n)
{
    struct student k;
    for(int i=0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if((p+i)->sum<(p+j)->sum)
            {
                k=*(p+i);
                *(p+i)=*(p+j);
                *(p+j)=k;
            }
        }
    }    
}

3.调试过程中碰到的问题和解决办法:

没有问题

git地址:https://git.coding.net/linghundouluo67/sk.git

 

posted on 2018-04-22 19:49  辰*  阅读(115)  评论(0编辑  收藏  举报