😭这是我的题目和我的代码,我刚学c语言,想边学边练,代码写的太丑陋 ,求师傅们指点






以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
您想要解决的问题: 您想要解决的问题是在C语言编程练习中遇到的“sample等价错误”,具体是在完成一个简单计算器的编程任务时,您的代码没有通过评测系统,显示为“部分正确”,并且有一个测试点显示“答案错误”。
图片内容:
问题出现原因: 根据您提供的图片内容,问题可能出现在以下几个方面:
int i=a:应该是int i=0;)。问题解决方案: 为了解决这个问题,您需要:
提供代码: 由于图片中代码不完整且有错误,我将提供一个简化的示例代码,用于实现一个基本的四则运算计算器:
#include <stdio.h>
int main() {
char expression[100];
int i, num1, num2, result;
char operator;
// 读取表达式
scanf("%99s", expression);
// 初始化第一个操作数和运算符
num1 = expression[0] - '0';
operator = expression[1];
// 处理剩余的字符
for (i = 2; expression[i] != '=' && expression[i] != '\0'; i++) {
if (expression[i] >= '0' && expression[i] <= '9') {
num2 = expression[i] - '0';
switch (operator) {
case '+': result = num1 + num2; break;
case '-': result = num1 - num2; break;
case '*': result = num1 * num2; break;
case '/':
if (num2 == 0) {
printf("ERROR\n");
return 0;
}
result = num1 / num2;
break;
}
// 准备下一个操作数和运算符
num1 = result;
operator = expression[i+1];
}
}
printf("%d\n", result);
return 0;
}
代码运行方式:
.c文件。gcc calculator.c -o calculator。./calculator。代码预期运行结果:
输入: 123+456*789=
输出: 326043
推荐相关链接: