一个字符串中有一个或者两个数字字符表示学生的学号,现在需要你把学号提取出来,正常来说,学号在一对()之间,并且是在最右边的一对()之间。
但是存在一些不规范的输入,比如abcd(19dk),学号应该是19。(后是一个数字,否则非法,返回not find。只有一个0是一个非法学号,输出not find。
输入样例:
在这里给出一组输入。例如:
yyde(36sdkf)
输出样例:
在这里给出相应的输出。例如:
36
#include<stdio.h>
int main(){
int i,m,left;
char str[100];
gets(str);
for(i=0;str[i]!='\0';i++){
for(i;str[i]=='(';){
m=i+1;
for(m;str[m]!=')';m++){
left=i;
}i=m+1;
}
}//printf("%d",left);
if(str[left+1]<='9'&&str[left+1]>'0'){
if((str[left+2]<='9')&&(str[left+2]>='0'))
printf("%c%c",str[left+1],str[left+2]);
else
printf("%c",str[left+1]);
}
else if(str[left+1]=='0'){
if((str[left+2]<='9')&&(str[left+2]>'0'))
printf("%c",str[left+2]);
else
printf("not find");
}
else
printf("not find");
}