新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
应该是你这个for循环当中的问题。
创新互联建站长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为婺源企业提供专业的网站设计制作、成都网站制作,婺源网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
for(i=n;i1;i/m)
{
if(i%m==0)
{
num++;
}
}
你的本意是每一次循环过后将i重新赋值为i/m,但是事实上你并没有赋值,也就是说这段程序中的i/m没作用,这样应该会死循环。应该改成 i/=m
n有多大,如果没有时间限制的话,n在整型范围的话
#includestdio.h
int main()
{
int i,s;
scanf("%d",n);
s=0;
for(i=3;i=n;i=i+3)
s=s+i;
printf("sum=%d\n",s);
}
用数学公式来算:
#includestdio.h
int main()
{
int t,m,n,s;
scanf("%d",n);
t=n/3; //t表示项数
m=t*3; //末尾最后一项
s=(3+m)*t/2; //公式,首项加末项除以2
printf("sum=%d\n",s);
}
以下是按要求的c语言代码:
#include stdio.h
int negate(int i)
{
return -i;
}
int abs(int i)
{
if (i0) return negate(i);
return i;
}
int main()
{
int i,x,m,n;
printf("input m,n:")
scanf("%d%d",m,b);
//减法
x=m+negate(n);
printf("m-n=%d\n",x);
//乘法
x=0;
for(i=0;iabs(m);i++) x+=n;
if(m0) x=negate(x);
printf("m*n=%d\n",x);
//除法
if(n) //n必须非0,即除数不可为0
{
x=0;
for(i=0;xabs(m);i++) x+=abs(n);
if(x!=abs(m)) i=i+negate(1);
if(m0) i=negate(i);
if(n0) i=negare(i);
printf("m/n=%d\n",i);
}
return 0;
}
有疑问可以追问。