填空题 以下程序的功能是;从键盘输入一行字符串,将输入字符串中连续的数字作为一个整数,整数前的"+"和"_"分别表示正整数和负整数。依次取出相关的连续数字字符,并转换为整数后存放到整型数组中。函数change_int1实现从字符串中依次取出整数并放入数组中 例如;输入字符串:"sf-123 abc+456 df7890j",则输出-123 456 7890 [程序](4分) #include void change_int( 2(23) 3) { int flag; count=0; while(*p){ flag=1; //flag=1为正整数,flag=-1为负整数 while((*p<'0'||*p>'9')&& 4(24) 5)p++; if(*p=='-'){ flag=-1; p++; } else if(*p=='+') p++; if(*p>='0' && *p<='9'){ int num=0; while( 6(25) 7){ num=num*10+*p-'0'; p++; } num= 8(26) 9 ; b[count]=num; count++; } } } void main(void) { char str[400]; int a[20],n; cout<<"请输入一个含有数字的字符串;/n"; cin.getline(str,400); change_int(str,a,n); , cout<<"输入字符串中共有"<个整数,它们分别是;/n"; for(int i=0;i cout< if((i+1)%4==0) cout<<'/n'; } cout< }
  • 1、
【正确答案】 1、(23)char *p,int b[],int &count (24)*p!='+' && *p!='-'或*p!='-' (25)*p>='0'&&*p<='9' (26)num *flag    
【答案解析】