第一题
给定一个字符串,计算字符串中的数值个数并求和,其中包含了负号,若紧跟一个负号则是一个数值,则并表示这是一个负数,若紧跟的不是数字,则不表示什么
input: 312ab-2-- -9--a
outtput: 3 301
代码如下,写的比较凌乱,暂时想不到更好的方法
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char a[100]; char b[100]; gets(a); int count = 0; int sum = 0; int j; int i = 0; int len = 0; //printf("%d\n",strlen(a)); while(i < strlen(a)) { if((a[i] >= '0') && (a[i] <= '9')) { //int len = 0; j = i; while((a[j] >= '0') && (a[j] <= '9')) { b[len++] = a[j++]; } sum += atoi(b); //printf("%d\n",sum); // printf("%d\n",atoi(b)); memset(b,0,sizeof(b)); if(len>0) { i = i + len; count++; } len = 0; } else i++; if((a[i] == '-') && (a[i+1] >= '0') && (a[i+1] <= '9')) { j = i+1; while((a[j] >= '0') && (a[j] <= '9')) { b[len++] = a[j++]; } sum -= atoi(b); //printf("%d\n",atoi(b)); memset(b,0,sizeof(b)); if(len>0) { i = i + len + 1; count++; } len = 0; } else i++; } printf("%d %d\n",count,sum); }
第二题
基本的DFS
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。