永发信息网

C语言错误求救

答案:1  悬赏:50  手机版
解决时间 2021-04-28 20:10
  • 提问者网友:我们很暧昧
  • 2021-04-28 11:59
小风凉刚买了手机,去营业厅开户,营业员让其挑选自己喜欢的号码,但那么多的号码着实让他眼花,他对号码的要求是在号码中6和8的个数要超过5个,并且没有数字4,于是就由我给他编了一个程序。

Input:输入不多于50组的数(手机号码),每个数以13或15开头,长为11位。 Output:输出数中,含有6和8不少于5个,并且没有4的数,并统计号码的个数。 Sample Input:13656689866 13805880343 15967126781 13808866888 Sample Output:13656689866 13808866888 2  #include<stdio.h>
#include<string.h>
struct data
{
 char c[100];
 int x;
}a[100];
main()
{
 char s[100];
 int i,j,k=0,A,B,C,D=0;
 while(scanf("%s",s)!=EOF)
 {
  strcpy(a[k].c,s);
  A=0,B=0,C=0;
  for(i=0;i<strlen(s);i++)
  {
   if(s[i]=='6')
   A++;
   if(s[i]=='8')
   B++;
   if(s[i]=='4')
   C++;
  }
  if((A>=5||B>=5)&&C==0)
  a[k].x=1;
  else a[k].x=0;
  k++;
 }
 for(i=0;i<k;i++)
 {
  if(a[i].x==1)
  {printf("%s\n",a[i].c);
  D++;}
 }
 printf("%d\n",D);
}  Run time error什么原因啊?

最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-04-28 12:17
应该是超时吧,还有题目中应该是六和八的总个数大于5吧,还有遇到四就可以break了,这样可以节省时间
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯