【发布时间】:2021-12-15 05:11:05
【问题描述】:
在这个程序中,我想使用结构获取学生信息并打印位置。而在测验部分,只有最好的一个会计入三分之二。现在,在给出所有输入之后,一切正常,除了在第 74 行我添加所有标记但是当我运行不计算的代码时。谁能找出我的问题所在。
#include <stdio.h>
struct student_profile {
char name[100];
int ID[100];
int Final;
int mid;
int attendance;
int assignment;
int quiz1;
int quiz2;
int quiz3;
int total_marks;
} s[100];
int comparison(int quiz1, int quiz2, int quiz3) {
int quiz_best;
if (quiz1 > quiz2 && quiz1 > quiz3) {
printf("Best quiz mark is: \n", quiz1);
quiz_best = quiz1;
} else
if (quiz2 > quiz1 && quiz2 > quiz3) {
printf("Best quiz mark is: \n", quiz2);
quiz_best = quiz2;
} else {
printf("Best quiz mark is: \n", quiz3);
quiz_best = quiz3;
}
return quiz_best;
}
int main() {
int i, n, quiz_best;
printf("Number of students: \n");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("\nStudent No: %d\n", i);
printf("Name: ");
scanf("%99s", s[i].name);
printf("ID: ");
scanf("%99s", s[i].ID);
printf("Final: ");
scanf("%d", &s[i].Final);
printf("mid: ");
scanf("%d", &s[i].mid);
printf("attendance: ");
scanf("%d", &s[i].attendance);
printf("assignment: ");
scanf("%d", &s[i].assignment);
printf("quiz1: ");
scanf("%d", &s[i].quiz1);
printf("quiz2: ");
scanf("%d", &s[i].quiz2);
printf("quiz3: ");
scanf("%d", &s[i].quiz3);
}
printf("\n Students Informations:\n");
for (i = 0; i < n; i++) {
printf("Student No: %d\n", i);
printf("Name: %s\n", s[i].name);
printf("ID: %d\n", s[i].ID);
printf("Final: %d\n", s[i].Final);
printf("mid: %d\n", s[i].mid);
printf("attendance: %d\n", s[i].attendance);
printf("assignment: %d\n", s[i].assignment);
printf("quiz1: %d\n", s[i].quiz1);
printf("quiz2: %d\n", s[i].quiz2);
printf("quiz3: %d\n", s[i].quiz3);
quiz_best = comparison(s[i].quiz1, s[i].quiz2, s[i].quiz3);
printf("The best quiz mark is: %d\n", quiz_best);
printf("Total marks: ",quiz_best+ s[i].Final+ s[i].mid+ s[i].assignment+ s[i].attendance );
}
return 0;
}
【问题讨论】:
-
printf("Total marks: "缺少一些东西...你想要一个%d吗? -
你能找出丢失的东西吗
-
我确切地告诉过你缺少什么。将该行与程序中的所有其他
printf进行比较。
标签: arrays c data-structures structure