程序哪出错?
本人是新手, 具体题目是要求从键盘中输入n,求1+2+3+...+n的值。#include<stdio.h>
void main()
{
int s,n;
s=0;
n=1;
while(n=n++)
{s=s+n;
n=n+1;}
scanf("%d",&n);
printf("1+2+3+... ...+n=%d\n",s)
}
----------------解决方案--------------------------------------------------------
while(n=n++)造成死循环;LZ可能是想检测n==n++吧,即使是这样,检测n==n++时首先执行n++,n也永远不会等于n++,还是死循环
[[it] 本帖最后由 寂寞的天空 于 2008-4-4 17:42 编辑 [/it]]
----------------解决方案--------------------------------------------------------
你题意理解错了,你的n是scanf函数键盘输入的
用n来控制循环结束
#include<stdio.h>
int main()
{
int s,n;
int num;
s=0;
n=1;
scanf("%d",&num);
while(n!=num+1)
{
s=s+n;
n++;
}
printf("1+2+3+... ...+%d=%d\n",num,s);
getchar();
getchar();
return 0;
}
----------------解决方案--------------------------------------------------------
那怎样改正呢?
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",(1+n)*n/2);
return 0;
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int i,k=0,s;
printf("输入N的直");
scanf("%d",&i);
for(s=0;k<=i;k++)
s+=k;
printf("N!=%d",s);
getch();
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int i,k=0,s;
printf("输入N的直");
scanf("%d",&i);
for(s=0;k<=i;k++)
s+=k;
printf("N!=%d",s);
getch();
}
----------------解决方案--------------------------------------------------------
4楼的 我知道你 程序是对的
但我想通过循环结构 来表示程序
能写出来吗?
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int i,n,sum;
printf("please number\n");
scanf("%d",&n);
sum=0;
for(i=0;i<=n;i++)
sum+=i;
printf("1+2+..+%d=%d\n",n,sum);
return 0;
}
----------------解决方案--------------------------------------------------------
非常感谢各位的网友的解答!
----------------解决方案--------------------------------------------------------