专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

怎么一次输入多个数字啊_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/9 1:05:57       共计:3572 浏览

怎么一次输入多个数字啊?

getline读入一行到字符数组

遍历字符数组,

(1)遇到逗号,说明一个数结束了

(2)遇到小数点,说明数的处理要改变了

(3)遇到数字,要区分是小数点前还是后的部分

(4)其他空格字符之类,跳过

具体步骤见代码

#include <iostream>#include <string>using namespace std;int main(){ //7.2,4.5,6.3,5.74,25.4 char buf[333]; cin.getline(buf, sizeof(buf));//读入一行 double a[33]; a[0] = 0;//初始化第一个数 int cnt = 0; //初始化 ”输入数字 个数“ double point = 0; //标记小数点是否已出现 for(int i = 0; buf[i] != '0'; i++){ if(buf[i] == ','){ //下一个数,初始化相关变量 a[++cnt] = 0; point = 0; }else if(buf[i] == '.'){ //发现小数点,小数点后第一位的权值为0.1(十进制下) point = 0.1; }else if(isdigit(buf[i])){ //处理数字,分小数点前后 if(point != 0){ //小数点后 a[cnt] += (buf[i] - '0') * point; //该位数字*该位权值 point *= 0.1; //权值变小 }else{//小数点前 a[cnt] *= 10; //当前数值整体*10 a[cnt] += buf[i] - '0'; //加上该位数字 } } } cnt++; for(int i = 0; i < cnt; i++) cout << a[i] << endl; return 0;}

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:三十多岁了不想打工了学什么好_java | ·下一条:间接引用也称为_java

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有