永发信息网

杭电acm http://acm.hdu.edu.cn/showproblem.php?pid=2015

答案:2  悬赏:20  手机版
解决时间 2021-01-28 11:51
  • 提问者网友:雨不眠的下
  • 2021-01-27 12:27
这道题为什么当后面的数能被整除时,时间就会变为无限?

#include
int main()
{
int n,m,i,c,flag;
int sum;
while(scanf("%d %d",&n,&m)!=EOF)
{
flag=0;
sum=0;
c=0;
for(i=1;i<=n;i++)
{
sum+=2*i;
c++;
if(c==m)
{
sum/=m;
if(flag)
printf(" ");
printf("%d",sum);
flag++;
c=0;
sum=0;
}
}
if(c!=m)
{
sum/=c;
printf(" %d",sum);
}
printf("\n");
}
return 0;
}
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 2021-01-27 12:44
假如最后一组c==m怎么办?c会被你置成0,必然的c!=m ,最后一个判断会继续啊,而且除数为c(且为零)。所以就会出错啊。
另外。空格和回车的处理可以放在一起(不是最后一个就空格,是最后一个就回车)。
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-01-27 13:03
#include #include void main() { char s[51]; int n,m,i,j,a; scanf("%d",&n); getchar(); while(n--) { gets(s); if((s[0]>='a' && s[0]<='z') || (s[0]>='a' && s[0]<='z') || s[0]=='_') a=0; else a=1; m=strlen(s); for(j=1;a==0&&j='a' && s[j]<='z') || (s[j]>='a' && s[j]<='z') || s[j]=='_' || (s[j]>='0' && s[j]<='9')) a=0; else a=1; } if(a==0) printf("yes\n"); else printf("no\n"); } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯