gpt4 book ai didi

c - 字符串总和

转载 作者:行者123 更新时间:2023-11-30 16:59:51 25 4
gpt4 key购买 nike

我必须编写一个函数来查找字符串中的数字之和。需要打印 main 中每一行的总和。我正在使用 strtok 和 token 来去掉逗号。然后 atof 将字符串转换为 double 。我很难将这些碎片连接在一起。

#include <stdio.h>
int main(void) {
int i;
double sum=0;

char* str[] = {"12, 34, 56, 78",
"82.16, 41.296",
"2, -3, 5, -7, 11, -13, 17, -19",
"9.00009, 90.0009, 900.009, 9000.09, 90000.9"};

for(i=0;i<(sizeof(str)/sizeof(*str));i++)
{
//print//
printf("sum = %3.6f \n",sum);
}
}

double sum(char* s[])
{
const char str[100];
char *token;
char *del = ", ";

token = strtok(str, del);

while( token != NULL )
{
token = strtok(NULL, del);
}

double atof( const char *s
double n;
double sum=0;
for(n=0;n<str(s);n++)
{
sum = sum + s[n];
}
return (sum);
}

最佳答案

ideone.com/3umold –BLUEPIXY

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

double sum(const char s[]);

int main(void) {
int i;
//double sum=0;

char* str[] = {
"12, 34, 56, 78",
"82.16, 41.296",
"2, -3, 5, -7, 11, -13, 17, -19",
"9.00009, 90.0009, 900.009, 9000.09, 90000.9"
};

for(i = 0; i < sizeof(str)/sizeof(*str); i++){
//print
printf("sum = %f \n", sum(str[i]));
}

return 0;
}

double sum(const char s[]){
char str[100];
char *token, *del = ", ";
double sum = 0.0;

strcpy(str, s);
token = strtok(str, del);

while( token != NULL ){
sum += atof(token);
token = strtok(NULL, del);
}
return sum;
}

关于c - 字符串总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37933235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com