永发信息网

why 还Output Limit Exceed啊,崩溃!~~

答案:2  悬赏:0  手机版
解决时间 2021-04-23 05:55
  • 提问者网友:蓝莓格格巫
  • 2021-04-23 00:25
#include<stdio.h> #include<string.h> void main() { char a[10000]; int i,b[11],n; while(gets(a)!=EOF) { b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0; b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0; n=strlen(a); for(i=0;i<n;i++) { switch(a[i]) { case '0':b[0]++;break; case '1':b[1]++;break; case '2':b[2]++;break; case '3':b[3]++;break; case '4':b[4]++;break; case '5':b[5]++;break; case '6':b[6]++;break; case '7':b[7]++;break; case '8':b[8]++;break; case '9':b[9]++;break; } } for(i=0;i<=9;i++) if(b[i]!=0) printf("%d:%d\n",i,b[i]); } }

题目: http://poj.grids.cn/problem?id=2927

最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-04-23 01:42

你的程序可以过的。下面是我提交的,


Source Code


Problem: 2927 User: liuyuquan100
Memory: 868K Time: 16MS
Language: G++ Result: Accepted


Source Code
#include<stdio.h>
#include<string.h>
int main()
{
char a[10000];
int i,b[11],n;
while(gets(a))
{
b[0]=0;
b[1]=0;
b[2]=0;
b[3]=0;
b[4]=0;
b[5]=0;
b[6]=0;
b[7]=0;
b[8]=0;
b[9]=0;
n=strlen(a);
for(i=0;i<n;i++)
{
switch(a[i])
{
case '0':b[0]++;break;
case '1':b[1]++;break;
case '2':b[2]++;break;
case '3':b[3]++;break;
case '4':b[4]++;break;
case '5':b[5]++;break;
case '6':b[6]++;break;
case '7':b[7]++;break;
case '8':b[8]++;break;
case '9':b[9]++;break;
}
}
for(i=0;i<=9;i++)
if(b[i]!=0)
printf("%d:%d\n",i,b[i]);
}
return 0;
}



只是把while(gets(a)!=EOF)


改成 while(gets(a)),因为我的VC上过不了你那种。

全部回答
  • 1楼网友:西风乍起
  • 2021-04-23 02:02
应该用指针来处理
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯