C语言问题,文件?
【问题描述】输入一行字符串,含有数字和非数字字符以及空格等,如:df23adfd562343?23dgjop535如果将其中所有连续出现的数字视为一个整数,要求统计在该字...
【问题描述】输入一行字符串,含有数字和非数字字符以及空格等,如:
df23adfd56 2343?23dgjop535
如果将其中所有连续出现的数字视为一个整数,要求统计在该字符串中共有多少个整数,并将这些数依次输出。
【输入文件】从当前目录下的trans.in文件中取得输入。
该文件内只有一行,含有数字和其它任意字符。该行最长含80个字符。
【输出文件】将输出打印到当前目录下的trans.out文件中。
输出文件第一行为字符串包含的整数个数,第二行依次为各个整数,各整数之间用一个空格分隔。在第二行末也要输出一个回车符。
【输入样例】 df23adfd56 2343?23dgjop535
【输出样例】5
23 56 2343 23 535
【样例说明】在字符串df23adfd56 2343?23dgjop535中有5个整数分别是
23 56 2343 23 535
【评分标准】结果正确则该测试点得满分,否则该测试点得0分。上传c语言源程序为trans.c。 展开
df23adfd56 2343?23dgjop535
如果将其中所有连续出现的数字视为一个整数,要求统计在该字符串中共有多少个整数,并将这些数依次输出。
【输入文件】从当前目录下的trans.in文件中取得输入。
该文件内只有一行,含有数字和其它任意字符。该行最长含80个字符。
【输出文件】将输出打印到当前目录下的trans.out文件中。
输出文件第一行为字符串包含的整数个数,第二行依次为各个整数,各整数之间用一个空格分隔。在第二行末也要输出一个回车符。
【输入样例】 df23adfd56 2343?23dgjop535
【输出样例】5
23 56 2343 23 535
【样例说明】在字符串df23adfd56 2343?23dgjop535中有5个整数分别是
23 56 2343 23 535
【评分标准】结果正确则该测试点得满分,否则该测试点得0分。上传c语言源程序为trans.c。 展开
展开全部
因为要先输出数字个数,所以要先保存字符串,扫描一遍统计数字个数后,两次扫描时输出各个数字。
#include <stdio.h>
int main()
{ char s[100];
int i,k,n=0;
gets(s);
for(i=0; s[i]; i++)
if(s[i]>='0'&&s[i]<='9')
{ if(!k)n++;
k=1;
}
else if(k)k=0;
printf("%d\n",n);
for(i=k=0; s[i]; i++)
if(s[i]>='0'&&s[i]<='9')
{ putchar(s[i]);
k=1;
}
else if(k)
{ k=0;
putchar(' ');
}
return 0;
}
追问
老哥能用文件的形式写个代码么,那个检测的系统输出不了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询