d018
輸入說明 :
一個字串,內部包含數組資料,每組資料有一個序號,及一個實數。
格式如下: 序號:實數
請注意,序號有可能跳號
輸出說明 :
請求出所有序號為奇數的實數的和減掉所有序號為偶數的實數,並印出結果。
sscanf和scanf的用法前面都有提到過了
%*c的意思是讀一個字串進來,然後捨棄它,題目也就是:
%後面加一個*,就是不要那個後面讀到的東西
printf("%g",sum) 會幫你印出剛好的位數,也就是0.6000會印出0.6而不是0.6000
#include<stdio.h>
#include<math.h>
int main()
{
double sum;
int n;
double f;
char s[10000];
while(gets(s))
{
sum=0;
char *p=s;
int l;
while(sscanf(p,"%d%*c%lf%n",&n,&f,&l)==2)
{
p+=l;
if(n%2==1)
sum+=f;
else
sum-=f;
}
printf("%g\n",sum);
}
return 0;
}