c语言为什么输出一直为0?
#include<stdio.h>#include<stdlib.h>intmain(){inta,i,b,d=0,m[12],t=0,c=0;for(i=0;i<12;...
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,i,b,d=0,m[12],t=0,c=0;
for(i=0;i<12;i++)
{
scanf("%d",&a);
if(a<300)
b = 300-a;
else
b = 0;
d += b;
if(a>300 && (a-300) > d)
m[i] = -(i+1);
else
m[i] = 0;
if(d>=100)
{
c += (d-d%100);
d = d%100;
}
}
for(i=0;i<12;i++)
{
if(m[i]<0);
t += 1;
printf("%d",m[i]);
break;
}
if(t=0)
printf("%d",1.2*c+d);
return 0;
}
输入290
230
280
200
300
170
330
50
90
80
200
60
的时候输出一直为0 debug窗口中的数值明明不为0,求解? 展开
#include <stdlib.h>
int main()
{
int a,i,b,d=0,m[12],t=0,c=0;
for(i=0;i<12;i++)
{
scanf("%d",&a);
if(a<300)
b = 300-a;
else
b = 0;
d += b;
if(a>300 && (a-300) > d)
m[i] = -(i+1);
else
m[i] = 0;
if(d>=100)
{
c += (d-d%100);
d = d%100;
}
}
for(i=0;i<12;i++)
{
if(m[i]<0);
t += 1;
printf("%d",m[i]);
break;
}
if(t=0)
printf("%d",1.2*c+d);
return 0;
}
输入290
230
280
200
300
170
330
50
90
80
200
60
的时候输出一直为0 debug窗口中的数值明明不为0,求解? 展开
2个回答
展开全部
把break去掉,试一试。
追问
t=0时下面一个printf输出的一直是0,和break应该没有关系的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不知道你这个程序功能是什么
目前发现你第二个for循环里的if语句括号后面加了; 这个条件语句就不起作用了
还有不知道你为什么要用break语句 如果你是想发生这个情况就跳出循环的话,应该把if后的语句用花括号括起来。
目前发现你第二个for循环里的if语句括号后面加了; 这个条件语句就不起作用了
还有不知道你为什么要用break语句 如果你是想发生这个情况就跳出循环的话,应该把if后的语句用花括号括起来。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询