主题:错在哪?
wubiao
[专家分:70] 发布于 2007-04-06 20:10:00
int s(int n)
{
int i;
for(i=1;i<=n-1;i++)
n+=i;
printf("%d",n);
return(n);
}
main()
{
int n;
printf("intput number n:");
scanf("%d",n);
n=s(n);
printf("%d",n);
}
最后更新于:2007-04-06 20:45:00
回复列表 (共5个回复)
沙发
Zero1 [专家分:710] 发布于 2007-04-06 20:32:00
//#include<stdio.h>
//头函数都不用么?? 那么强~~
int s(int n)
{
int i;
for(i=1,i<=n-1,i++)
n+=i; //逻辑错误!!! 此处n值改变了,上一句的i<n-1;还有什么哟你呐??
printf("%d",n);
return(n);
}
main() //良好的习惯是应该的:int main(int argc,char *argv[])
{
int n;
printf("intput number n:");
scanf("%d",n);
n=s(n);
printf("%d",n);
}
/**************************************************/
/* 修改过的程序如下,应该对的(还没试过哦!!!) */
#include<stdio.h>
//输入n,计算1+2+...+(n-1)的值(应该是这样的吧???)
int s(int n){
int i,m=0; //存放计算结果(记得赋初值)
for(i=1;i<n;i++) m+=i;
//printf("%d",m); //这句好像不必要
return (m);
}
int main(argc,argv)
int argc;
char *argv[];
{
int n;
printf("Input a number n:");
scanf("%d",n);
n=s(n);
printf("%d",n);
return 0;
}
板凳
wubiao [专家分:70] 发布于 2007-04-06 20:47:00
好象运行不对啊!
3 楼
Zero1 [专家分:710] 发布于 2007-04-06 21:04:00
scanf("%d",n); ->scanf("%d",&n); /* 取地址 */
4 楼
wubiao [专家分:70] 发布于 2007-04-07 14:48:00
int main(argc,argv)
int argc;
char *argv[];
这句在下面也没用到啊!
为什么要定义这2个变量啊?
5 楼
Zero1 [专家分:710] 发布于 2007-04-07 15:34:00
个人习惯~~~ 很多时候用不到~~
你可以写成这样的:int main(){ ...}
我来回复