#include <stdio.h>// 定义人员结构体typedef struct {char name[20];int id;int age;double cp_score;int cp_count;double cp_grade;} Student;// 计算综合成绩void calculateGrade(Student *s) {s->cp_grade = s->cp_score * 0.9 + s->cp_count * 0.1;}// 输出学生信息void printStudent(Student s) {printf(&quot;%d %s %.1f\n&quot;, s.id, s.name, s.cp_grade);}int main() {Student students[100];int n = 0;while (1) {scanf(&quot;%s&quot;, students[n].name);if (students[n].name[0] == '0') break;scanf(&quot;%d %d %lf %d&quot;, &amp;students[n].id, &amp;students[n].age, &amp;students[n].cp_score, &amp;students[n].cp_count);calculateGrade(&amp;students[n]);n++;}for (int i = 0; i < n; i++) {printStudent(students[i]);}return 0;}