定义函数,处理一个10进制整数连续加法表达式,计算出结果作为返回值, 函数接口定义: int fun (char *str); str指向一个表达式字符串,字符串是一个合法的连加运算表达式,没有空格,首字母是数字 裁判测试程序样例: 在这里给出函数被调用进行测试的例子。例如: #include <stdio.h> int fun (char *str); int main() { char str[80]; scanf("%s", str); printf("%d", fun( str ) ); return 0; } /* 请在这里填写答案 */ 输入样例: 6+2+3+6 输出样例: 17 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB C (gcc) 1
时间: 2024-03-06 19:50:36 浏览: 135
C语言 用指针作为函数返回值详解
下面是一种可能的实现方式:
```c
#include <stdio.h>
int fun (char *str) {
int sum = 0;
int num = 0;
char sign = '+';
while (*str != '\0') {
if (*str >= '0' && *str <= '9') {
num = num * 10 + (*str - '0');
} else {
if (sign == '+') {
sum += num;
} else {
sum -= num;
}
num = 0;
sign = *str;
}
str++;
}
if (sign == '+') {
sum += num;
} else {
sum -= num;
}
return sum;
}
int main() {
char str[80];
scanf("%s", str);
printf("%d", fun(str));
return 0;
}
```
这个函数的实现思路是:遍历整个字符串,如果遇到数字则计算当前数字的值,如果遇到加号或减号则将当前数字加入到结果中,并更新当前符号和数字。最后别忘了把最后一个数字加入到结果中。
阅读全文