1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| #define _CRT_SECURE_NO_WARNINGS #include <stdio.h>
void Calculate_with_total(float n); void Calculate_without_total(void);
int main(void) { float total; printf("*** 这是一个测试你期末卷面成绩的程序 ***\n"); printf("请问你有没有问到自己的期末总成绩?\n"); printf("请输入你的期末总成绩,如果没有,请输入非数字任意内容进行下一项\n"); if (scanf("%f", &total) != 1) { while (getchar() != '\n'); Calculate_without_total(); } else { Calculate_with_total(total); } printf("\n按回车键退出..."); getchar(); return 0; }
void Calculate_with_total(float n) { if (n < 60) { printf("你挂科了,菜逼,等补考吧"); while (getchar() != '\n'); return; } float final,mid; printf("请提供你的半期考试成绩,如果没有,请输入非数字任意内容进行下一项\n"); if (scanf("%f", &mid) != 1) { while (getchar() != '\n'); final = (n - 50) * 2; if (final >= 45) { printf("恭喜你,你肯定没有挂科,且期末成绩一定高于%.1f",final); return; } mid = (n - 52.5) * 5; printf("你的期末考试成绩至少是%.1f,但放心,只要你的半期成绩低于%.1f,你就肯定不会挂科", final,mid); } else { final = (n - mid * 0.2 - 30) * 2; printf("你的期末考试成绩至少是%.1f\n", final); if (final >= 45) { printf("恭喜你,你已经及格了"); } else { printf("很遗憾,你有概率挂科"); } while (getchar() != '\n'); } }
void Calculate_without_total(void) { float final, mid; printf("请提供你的半期考试成绩,如果没有,请输入非数字任意内容进行下一项\n"); if (scanf("%f", &mid) != 1) { while (getchar() != '\n'); printf("在确保期末考试成绩达到及格线45分的基础上,如果老师愿意捞你,期中你只要考37.5分,就不会挂科"); } else { if (mid <= 37.5) { final = (30 - mid * 0.2) * 2; printf("请估计你的期末考试成绩,确保成绩高于%.1f,否则总分无论老师怎么捞你,总成绩也一定不到60,必定挂科",final); } else { printf("在保证期末考试成绩高于45的前提下,老师只要愿意捞你,你绝对总成绩可以达到60分,则不会挂科"); } while (getchar() != '\n'); } }
|