C++编写一个程序,输入一个字符串,从字符串中提取有效的数字,输出它们的总和,要有注释 考虑小数情况

如题所述

输入.5时算0.5

#include<stdio.h>

void main() { char str[256],*p,*q; float s, t;

  s = 0; gets(str); p= str;

  while (*p) {

    q = p; while ((*q >= '0' && *q <= '9') || *q == '.') q++;

    sscanf(p, "%f", &t); s += t; printf("%f\n", t);

    while (!((*q >= '0' && *q <= '9') || *q == '.' || *q==0)) q++;

    p = q;

  }

  printf("----------\n%f\n", s);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-17

追问

函数刚刚学,还不太懂,正在用逐个筛选放到两个数组里,然后分求整数部分和小数部分。但还是谢谢你提供一种新方法,而且很方便

本回答被提问者采纳
相似回答