今天做题,有道题嗑了好久(不是题难,脑子问题,再问自鲨)然后逛(zhao)博(ti)客(jie)的时候看见有个没见过的东西,记一下。
判断字符串是否全为数字 ( isdigit()库函数 )
#include <bits/stdc++.h> using namespace std; int main() { string a ="1234"; for(int i = 0;i < a.length();i++) { if(isdigit(a[i]))//关键检查每一个字符是否都为十进制数字 continue; else { cout << "含非数字字符"; return; } } cout << "该字符串全为数字"; }
http://www.fjutacm.com/Problem.jsp?pid=1867
题很简单,只是想记一个函数而已,代码如下。
#include<stdio.h> #include<string.h> #include<bits/stdc++.h> using namespace std; int main(){ char s1[10005]; int l,a,k,fg; long long sum; while(~scanf("%s",s1)){ sum=0,a=0,fg=0; l=strlen(s1); for(int i=0;i<l;i++){ a=0; k=i; while(isdigit(s1[i])){ a=a*10+s1[i]-'0'; i++; fg=1; } if(fg==1) while(s1[k-1]=='-'||s1[k-1]=='+'){ if(s1[k-1]=='-'){ a=-a; } k--; } sum+=a; } if(fg) printf("%lld ",sum); else printf("NULL "); } return 0; }
EOF