杭電2015計算機複試筆試題
阿新 • • 發佈:2019-02-14
第一題
給定一個字串,計算字串中的數值個數並求和,其中包含了負號,若緊跟一個負號則是一個數值,則並表示這是一個負數,若緊跟的不是數字,則不表示什麼
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