科大讯飞笔试C++第二题

就讨厌这种题,不难就费时间,
思路:判断每个“,”之间是不是全是数字,还有有几个小数点,小数点不能位于首尾,基本上就KO了吧
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>

using namespace std;

int main() {
string str;
cin >> str;
int n = str.size();
vector<char>v1;
int flag = 1;
int d = 0;//记录有几个小数点
int num = 0;//记录结果
for (int i = 0; i <=n; i++) {
if (str[i] == ','|| i==n) {
int m = v1.size();
if (flag &&  m>= 2) {
int sum = v1.front()-'0' + v1[m - 1]-'0';
if (sum > 8)
num++;
if (i == n)
break;
}
v1.clear();
d = 0;
flag = 1;
if(str[i+1]=='.')flag = 0;
continue;
}
if (str[i] == '.') {
d++;
}
if(str[i]=='.'||(str[i] <= '9' && str[i] >= '0' && flag)) {
if (d <= 1) {
v1.push_back(str[i]);
}
else {
v1.clear();
flag = 0;
d = 0;
}
}
else {
flag = 0;
v1.clear();
d = 0;
}
}
cout << "result:" << num << endl;
system("pause");
}

#笔试题目##科大讯飞#
全部评论
题目说的不清楚,小数到底算不算,我没算小数的,然后过了
点赞 回复 分享
发布于 2019-09-12 15:11
什么时候投的?我投的没反应啊
点赞 回复 分享
发布于 2019-09-12 14:41

相关推荐

不愿透露姓名的神秘牛友
07-08 13:05
点赞 评论 收藏
分享
机械打工仔:有说的你怀疑一下就行了,直接问也太实诚了
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务