回 帖 发 新 帖 刷新版面

主题:有规律求和程序怎样编写??看看高手怎样编写的??

有规律求和程序怎样编写??看看高手怎样编写的??
1+2-3+4+5-6-7+8+9+10-11-12-13+14+15+16-17-18-19-20+..............是有规律的?看看程序怎样编写??

#include <iostream>
using namespace std;
int main()
{




return 0;
}
编写哦!

用函数或指针哦!!

回复列表 (共22个回复)

沙发

思路就是利用循环不变式,每次改变加数一个一个加上去,代码的话,直接baidu就应该搞定了。这种简单代码,高手跟普通人的代码其实相差也不会太大,也就是可读性的差别。不过对于lz的附加要求,用函数还能理解,用指针就有点扯了……这代码实在没什么必要用指针……

板凳

用2个循环就可以解决,外部循环记录+/-号的个数count,内部循环写出count个+然后count数-

3 楼

不懂!两个循环就能搞定??

4 楼

单循环+判断就能搞定

5 楼

小生愚昧!!请大虾出手写写看看!!

6 楼

要用户输入n!!

7 楼

给出半伪代码,看得懂就看,看不懂就算
sum<-0求和变量
round<-0,now<-0,f<-1依次是这轮的符号总数,目前已经经历的符号数,和符号位
输入n
for i<-1 to n
  now+1
  if now和round相等
    如果f为正
        f<- -1,now<-0
    否则
        f<- 1,now<-0,round+1
  sum+符号位*i
输出n

8 楼

#include<iostream>
using namespace std;
int main()
{int n,sum=0;
cin>>n;int j=1;
cout<<"0";
for(int i=1;i<=n;j++)
{
int c=j;
for(;c>0;c--)
{
if(i>n)
break;
cout<<"-"<<i;
    sum=sum-i;
i++;
}
c=j;
for(;c>0;c--)
{if(i>n)
break;
sum=sum+i;
cout<<"+"<<i;
i++;
}
}
cout<<"="<<sum<<endl;
return 0;


}

9 楼

高手简化它??

10 楼

#include<iostream>
using namespace std;
int main()
{int n,sum=0;
cin>>n;int j=1;
for(int i=1;i<=n;j++)
{
int c=j;
cout<<"0";
for(;c>0;c--)
{
if(i>n)
break;
cout<<"+"<<i;
    sum=sum+i;
i++;
}
c=j;
for(;c>0;c--)
{if(i>n)
break;
sum=sum-i;
cout<<"-"<<i;
i++;
}
}
cout<<"="<<sum<<endl;
return 0;


}

我来回复

您尚未登录,请登录后再回复。点此登录或注册