【C/PTA —— 14.结构体1(课内实践)】

C/PTA —— 14.结构体1(课内实践)

  • 6-1 计算两个复数之积
  • 6-2 结构体数组中查找指定编号人员
  • 6-3 综合成绩
  • 6-4 结构体数组按总分排序

6-1 计算两个复数之积

【C/PTA —— 14.结构体1(课内实践)】_第1张图片

struct complex multiply(struct complex x, struct complex y)
{
    struct complex product;
    product.real = x.real * y.real - x.imag * y.imag;
    product.imag = x.real * y.imag + x.imag * y.real;
    return product;
}

6-2 结构体数组中查找指定编号人员

【C/PTA —— 14.结构体1(课内实践)】_第2张图片

struct student fun(struct student* std, char* num)
{
	struct student product;
	for (int i = 0; i < 8; i++)
	{
		if (std[i].num[0] == num[0])
			product = std[i];
	}
	return product;

}

6-3 综合成绩

【C/PTA —— 14.结构体1(课内实践)】_第3张图片

double getAverage(Applicant* a)
{
    double sum = 0.0;
    sum = a->computational * 1.0 * 0.4 + a->humanistic * 1.0 * 0.5 + a->logical * 1.0 * 0.3 + a->presentation * 1.0 * 0.6 + a->scientific * 1.0 * 0.8;
    return sum;
}

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

【C/PTA —— 14.结构体1(课内实践)】_第4张图片

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

你可能感兴趣的:(C语言,#PTA,##,结构体,c语言,算法,结构体,数据结构)