当前位置: 代码迷 >> C语言 >> [求助]程序哪错了
  详细解决方案

[求助]程序哪错了

热度:143   发布时间:2006-10-16 22:26:18.0
[求助]程序哪错了

#include<stdio.h>

int main()
{
int n, sum=0;

printf("Please input n:");
scanf("%d",&n);
if(n>=0)
for(n=0;n<=2*n;++n)
sum+=n;
else
for(n=0;n>=2*n;++(2*n))
sum+=n;
printf("%d",sum);
return 0;
}
这个程序哪里错了?


----------------解决方案--------------------------------------------------------
以下是引用yjbqq在2006-10-16 22:26:18的发言:

#include<stdio.h>

int main()
{
int n, sum=0;

printf("Please input n:");
scanf("%d",&n);
if(n>=0)
for(n=0;n<=2*n;++n)//死循环
sum+=n;
else
for(n=0;n>=2*n;++(2*n))
sum+=n;
printf("%d",sum);
return 0;
}
这个程序哪里错了?


----------------解决方案--------------------------------------------------------

1。2*n不是基本类型或指针类型,不能执行自加运算

2。当输入的n>=0时,由于循环中n<=2n恒成立,死循环;

3.当n<0时,n=0恒成立,死循环;


----------------解决方案--------------------------------------------------------
那应该怎么改啊?
----------------解决方案--------------------------------------------------------

那要看你的要求了.再定义个变量.


----------------解决方案--------------------------------------------------------

#include<stdio.h>

int main()
{
int n, sum=0,i;

printf("Please input n:");
scanf("%d",&n);
if(n>=0)
for(i=0;i<=2*n;++i)
sum+=n;
else
for(i=0;n>=2*i;)
{sum+=n;i=2*(++i);}
printf("%d",sum);
return 0;
}


----------------解决方案--------------------------------------------------------
还有楼主你的题目是什么?
----------------解决方案--------------------------------------------------------
  相关解决方案