用c语言写出上面程序
时间: 2024-09-20 07:14:51 浏览: 41
这个程序实现的是一个连加器,输入的字符中只包含数字和加号,程序通过遍历输入字符,通过加号将数字分开,然后将这些数字相加并输出结果。以下是程序的实现步骤:
1. 定义一个字符数组str和一个整型数组num,以及一个整型变量val。
2. 通过gets()函数获取用户输入的字符串。
3. 定义三个整型变量i、j、k,分别表示遍历字符数组str的下标、num数组的下标和numStr数组的下标。
4. 遍历字符数组str,如果当前字符是加号,则将numStr转换成整型存入num数组中,并将k加1,同时将j重置为0;否则将当前字符存入numStr数组中,同时将j加1。
5. 将numStr转换成整型存入num数组中。
6. 遍历num数组,将其中的数字相加并存入val中。
7. 输出val的值。
8. 重复执行步骤2-7,直到用户结束程序。
以下是程序的代码实现:
```
void adds(){
char str[100];
char numStr[20];
int num[20];
int val;
int i,j,k;
while (1){
gets(str);
i = 0;j = 0;k = 0;
while (str[i]!='\0'){
if (str[i]=='+'){
num[k] = atoi(numStr);
k++;
j = 0;
}else{
numStr[j] = str[i];
j++;
}
i++;
}
num[k]=atoi(numStr);
val = 0;
for (int i = 0; i < k+1; i++){
val += num[i];
}
printf("%d\n",val);
}
}
int main(){
adds();
return 0;
}
```
阅读全文