#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int main() { char input[50]; char student_id[10]; float c_language, math, english; // 输入学号和成绩 fgets(input, sizeof(input), stdin); // 去掉换行符 input[strcspn(input, "\n")] = '\0'; // 分割输入数据 char *token = strtok(input, ";"); if (token != NULL) { strcpy(student_id, token); token = strtok(NULL, ","); if (token != NULL) { c_language = atof(token); token = strtok(NULL, ","); if (token != NULL) { math = atof(token); token = strtok(NULL, ","); if (token != NULL) { english = atof(token); // 四舍五入并保留两位小数 c_language = round(c_language * 100) / 100; math = round(math * 100) / 100; english = round(english * 100) / 100; // 输出结果 printf("The each subject score of No. %s is %.2f, %.2f, %.2f.\n", student_id, c_language, math, english); } } } } return 0; }