0

-1,1.51,-2.525,3.456...etc 値のような文字列があります。

stringこれを各 value( )に変換しfloat、すべての値を追加して結果を生成する必要があります。

ここでも、結果の float を小数点以下 2 桁の文字列に変換する必要があります。

例 :-1+1.51-2.525+3.456 = 1.44.

前もって感謝します。

4

2 に答える 2

0

sscanf()次のコードは、文字列を関数で分割するのに役立ちます

小数点使用後の 2 つの数字で float を表示するには"%.2f"

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

char str[256]="-1,1.51,-2.525,3.456";

int main()
{
    float x, sum=0; int g;
    while (g=sscanf(str,"%f,%s",&x,str))
    {

        printf("x=%f\r\n",x);
        sum+=x;
        if (g==1) break;
    }
    printf(" the sum is %.2f\r\n",sum);
}

ビルドと実行:

linux$ gcc -o test test.c -lpthread
linux$ ./test
x=-1.000000
x=1.510000
x=-2.525000
x=3.456000
 the sum is 1.44
于 2012-11-27T09:22:31.853 に答える
0

関数を調べてみると、strtof()このようなことをするのに最適です。浮動小数点数を解析し、数値の一部とは見なされない最初の文字へのポインターも返すことに注意してください。

于 2012-11-27T09:03:25.767 に答える