使用函数实现一个功能相对完整的系统每个功能模块,定义成一个或多个功能单一的子函数,每个子函数不能只有一应尽量完整的实现功能功能子函数应至少有4个(含4个)以,总有效代码行数(不包含空行和大括号)不少于60行。用基础代码进行编写,必须要有4个子函数,子函数不能太短
17条回答 默认 最新
threenewbee 2023-12-26 10:03关注这个简单,你希望我手工编写一个可以给我留言,题目你定。
或者可以参考别的 ai 人士的回答。#include <stdio.h> #include <math.h> void szys() { printf("请输入一个表达式,比如1+1"); float a, b; char op; scanf("%f%c%f", &a, &op, &b); float c = 0; if (op == '+') c = a + b; else if (op == '-') c = a - b; else if (op == '*') c = a * b; else if (op == '/') { if (b == 0) { printf("除数不为0"); return; } else { c = a / b; } } printf("%f%c%f=%f", a, op, b, c); } void qiugen() { printf("请分别输入一元二次方程的系数a,b,c逗号分隔"); float a,b,c; scanf("%f%f%f", &a, &b, &c); float pb = b * b - 4 * a * c; if (pb == 0) { float x = -b / (2 * a); printf("方程有唯一根 %f", x); } else if (pb > 0) { float x1 = (-b + sqrt(pb)) / (2 * a); float x2 = (-b - sqrt(pb)) / (2 * a); printf("方程有两个根,分别是 %f,%f", x1, x2); } else { printf("方程无实数根"); } } void tj() { printf("统计求和求平均:请输入一组正整数,输入0结束"); int n = 0, sum = 0; while (1) { int x; scanf("%d", &x); if (x == 0) break; sum += x; n++; } if (n == 0) printf("无输入"); else printf("总和是 %d, 平均是 %.2f", sum, sum * 1.0 / n); } void yzl() { printf("计算圆周率:"); float sum = 0; int sn = 1; for (int i = 1; i <= 10000; i += 2, sn *= -1) sum += sn * 1.0 / i; float pi = sum * 4; printf("圆周率约等于 %f", pi); } void gcdlcm() { printf("计算最大公约数和最小公倍数,请输入两个整数,逗号隔开:"); int a, b; scanf("%d%d", &a, &b); if (a > b) { int t = a; a = b; b = t; } int gcd = 1; for (int i = a; i >= 1; i--) { if (a % i == 0 && b % i == 0) { gcd = i; break; } } int lcm = a * b / gcd; printf("最大公约数是 %d, 最小公倍数是 %d", gcd, lcm); } int menu() { while (1) { printf("\n多功能计算器\n"); printf("1 四则运算\n"); printf("2 一元二次方程求根\n"); printf("3 统计功能\n"); printf("4 计算圆周率\n"); printf("5 计算最大公约数最小公倍数\n"); printf("0 退出\n"); printf("其它 重新显示本菜单\n"); int x; int y = scanf("%d", &x); if (y != 1) continue; if (x < 0 || x > 5) continue; return x; } } int main() { int choice; while (1) { choice = menu(); if (choice == 0) break; else if (choice == 1) szys(); else if (choice == 2) qiugen(); else if (choice == 3) tj(); else if (choice == 4) yzl(); else if (choice == 5) gcdlcm(); } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 2无用 1