1 条题解

  • 0
    @ 2025-4-7 21:28:48

    C :

    #include<stdio.h>
    #include<string.h>
    int main()
    {	
    	char q[510],a[510][510];
    	int i,j=0,k=0,s=0;
    	gets(q);
    	for(i=0;i<strlen(q);i++)
    	{
    		if(!(q[i]>='0'&&q[i]<='9'))
    		continue;
    		a[k][j++]=q[i];
    		if(!(q[i+1]>='0'&&q[i+1]<='9'))
    		{   a[k][j]=0;
    			j=0;
    			k++;
    		continue;
    		}
    	}
    	printf("%d\n",k);
    	for(i=0;i<k;i++)
    	{
    		printf("%s ",a[i]);
    	}
      printf("\n");
    	return 0;
    
    }
    
    

    C++ :

    #include <stdio.h>
    int main() {
    	int i, current, count, vals[500];
    	char ch, lastch;
    	count = 0;
    	/* 使用current变量标志当前是否有没有处理完毕的整数
    	   -1表示没有,否则表示当前整数已处理的值 */
    	current = -1;
    	while ((ch = getchar()) != '\n') {
    		if ('0' <= ch && ch <= '9') {
    			if (current == -1) {
    				current = ch - '0';
    			} else {
    				current = current * 10 + (ch - '0');
    			}
    		} else {
    			if (current != -1) {
    				vals[count] = current;
    				count++;
    				current = -1;
    			}
    		}
    	}
    	/* 不要忘记在读取完整个字符串之后判断一下是否还有
    	   未处理完毕的整数 */
    	if (current != -1) {
    		vals[count] = current;
    		count++;
    		current = -1;
    	}
    	printf("%d\n", count);
    	for (i = 0;i < count;i++)
    		printf("%d ", vals[i]);
    	printf("\n");
    	return 0;
    }
    
    
    • 1

    信息

    ID
    1372
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者