题目来源:百练2910
超时代码
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string s;
getline(cin, s);
char arr[110][110] = {'\0'};
int row, col = 0;
for (int i = 0; i < s.length(); i++)
{
if (s[i] <= '9' && s[i] >= '0')
{
int j = i;
arr[row][col++] = s[i];
while (1)
{
char temp = s[++j];
if (temp <= '9' && temp >= '0')
{
arr[row][col++] = s[j];
}
else
{
break;
}
}
i = i + col;
row++;
col = 0;
}
else
{
continue;
}
}
for (int i = 0; i <= row; i++)
{
int len = strlen(arr[i]);
for (int j = 0; j < len; j++)
{
cout << arr[i][j];
}
if (i < row)
{
cout << endl;
}
}
return 0;
}
参考了别人的代码:
#include <stdio.h>
int main()
{
char str[35];
int f, i, l = 0;
gets(str);
for (i = 0; str[i] != '\0'; i++)
{
if (str[i] >= '0' && str[i] <= '9')
{
printf("%c", str[i]);
f = 1;
}
else
f = 0;
if (f == 0 && str[i - 1] >= '0' && str[i - 1] <= '9')
printf("\n");
l++;
}
if (str[l - 1] >= '0' && str[l - 1] <= '9')
printf("\n");
return 0;
}