标题:[求助]高手来指点一下
只看楼主
GAMEVYO
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-17
 问题点数:0 回复次数:10 
[求助]高手来指点一下
//求,1-3+5-7+.....-99+101的值
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
 int n=101;
 int sign=1;
 int h=0;
 int a=1;
 
 while(fabs(a)<=n)
 {
  h+=a;
     sign=-sign;
  a=sign*(a+2);
 
 }
 cout<<"H="<<h<<endl;
 return 0;
}

这样不能输出任何东西,高手指点下我错在什么地方了
搜索更多相关主题的帖子: 东西 101 include return 
2005-07-17 19:10
GAMEVYO
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-17
得分:0 

//无法编译 #include <iostream> using namespace std; int main() { for(int n=1;n<=50;n++) { int d=n*(n+1); double h=1/d; //error C2065: 'h' : undeclared identifier } double e=1+h; cout<<"e="<<e<<endl; return 0; } 这个第一问就不对

TM:根据公式e=1+1/1!+1/2!+1/3!+.....计算e的值。要求: 1。使用for循环计算到公式的前50项。 2。使用while循环直到计算到公式最后一项的值小于,10的负4次方,为止.

2005-07-17 19:12
GAMEVYO
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-17
得分:0 

//1.输出不正确 #include <iostream> using namespace std; int main() {

for(int n=1600;n<2000;n++) {

if(n%4!=0&&n%100==0) continue; cout<<"闰年是:"<<n<<'\0'; int i=1; i++; if(i/5!=0) cout<<endl; } return 0; }

//2.问题B和输出要求不能解决 #include <iostream> using namespace std; int main() { for(int n=1600;n<2000;n++) { if(n%4!=0) continue; if(n%100==0) continue; cout<<n<<'\0'; } return 0; } 在第一个里面if(n%4!=0&&n%100==0)这一句好象有问题,在第二个里面分开来就没问题了.每行输出5个年份我也做不到

TM:输出从公元1600到2000年中所有闰年的年份.要求每行输出5个年份. A.年份如果能被4整除,而不能被100整除,则为闰年. B.年份如果能被400整除也是闰年.

2005-07-17 19:15
GAMEVYO
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-17
得分:0 
这个该这么做啊???

求1000以内的完全数.所谓完全数是指一个数等于其因子之和,例如,6是完全数,因为6=1+2+3.
2005-07-17 19:16
GAMEVYO
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-17
得分:0 
还有这个

使用循环语句输出:
   *
  ***
 *****
*******
 *****
  ***
   *

[此贴子已经被作者于2005-7-18 9:03:03编辑过]


2005-07-17 19:16
GAMEVYO
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-17
得分:0 

//冒泡排序法 #include<iostream> using namespace std; void bubble(int v[],int size);//???????????????bubble????????? int main() { int vn[]={53,3,7,5,31,16,9,75,29,36,-12,-9,0};//定义数组各元素的值 int len=sizeof(vn)/sizeof(int);//计算数组长度

for(int i=0;i<len;i++)//将各元素定义给i,i++ cout<<vn[i]<<',';//输出排序前的数组 cout<<endl<<endl;//空两行 bubble(vn,len);//???????????????

return 0; }

void bubble(int v[],int size)//不懂bubble是什么意思 { int i,temp;//temp是中转变量 for(int p=1;p<size;p++) { for(i=0;i<size-p;i++)//不清楚这一句的含义 if(v[i]>v[i+1])//如果前一个数比后一个大 { temp=v[i];// v[i]=v[i+1];// v[i+1]=temp;//调换v[i]和v[i+1]的值,将元素从小到大排列(左边) } for(i=0;i<size;i++)// cout<<v[i]<<',';//输出排序后的数组 cout<<endl; } } //1.不懂bubble的含义 //2.不清楚size的值 //3.看不懂"计算数组长度"这一句 //4.找不到数组右面从大到小排列的函数,应该是在(23)这一句中同时完成了

2005-07-17 19:17
GAMEVYO
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-7-17
得分:0 

//求二维数组列,行,对角线之和 #include<iostream> using namespace std; const int rows=4; const int cols=4; int main() { int row,col,sum;//因为定义的row col是元素的位置所以只能是整数型,sum可以是double型,因为下面数组 中的元素都是整数所以就放在int中一起定义了 int matrix[rows][cols]= { {1,-2,3,4}, {5,6,-7,8}, {9,10,0,12}, {13,14,15,16} }; //输出该二维数组 for(row=0;row<rows;row++)// {// for(col=0;col<cols;col++)// {// cout.width (5);// cout<<matrix[row][col]<<' ';// }// cout<<endl;// }

//按行计算元素之和 for(row=0;row<rows;row++) { sum=0; for(col=0;col<cols;col++) sum+=matrix[row][col]; cout<<"第"<<row+1<<"行的和是:"<<sum<<endl; } cout<<endl;

//按列计算元素之和 for(col=0;col<cols;col++) { sum=0; for(row=0;row<rows;row++) sum+=matrix[row][col]; cout<<"第"<<col+1<<"列的和是:"<<sum<<endl; }

cout<<endl;

//计算对角线元素之和 sum=0; for(row=0;row<rows;row++) sum+=matrix[row][row]; cout<<"对角线元素之和是:"<<sum<<endl<<endl;

//计算反对角线之和 sum=0; for(row=0;row<rows;row++) sum+=matrix[row][rows-1-row]; cout<<"反对角线之和是:"<<sum<<endl<<endl; //计算结束 return 0; }

几个问题不是太明白: 1.在int matrix[rows][cols]和sum+=matrix[row][col]中的matrix的含义。 2.第21句cout.width (5);不懂含义。

2005-07-17 19:18
天堂的叛逆者
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-8-10
得分:0 
一下子问了好多问题啊~~~~~ 一个一个来哦~~~ 对于一楼的那个问题.....给出代码如下..... [CODE]

#include<iostream> using namespace std; int main() { int sign=-1; int term=0; int sum=0; int a=1;

while(a<=101) { sign=(-1)*sign; term=sign*a; sum=sum+term; a=a+2; } cout<<"Sum="<<sum<<endl; }

[/CODE] 以上代码不能在论坛直接运行..... 请复制到BCB下运行......

[此贴子已经被作者于2005-8-10 9:38:02编辑过]


2005-08-10 09:36
天堂的叛逆者
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-8-10
得分:0 

对于二楼的问题....... 给出代码如下..... [CODE] #include <iostream> using namespace std; int main() { double h; for(int n=1;n<=50;n++) { int d=n*(n+1); h=1/d; //error C2065: 'h' : undeclared identifier

} double e=1+h; cout<<"e="<<e<<endl; return 0; } [/CODE] 要知道在for循环内部定义的变量在外部是不可以使用的.....会提示undefined....... 以上代码不能在论坛直接运行..... 请复制到BCB下运行......


2005-08-10 10:13
天堂的叛逆者
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-8-10
得分:0 

三楼的问题.......代码如下........ [CODE] #include <iostream> using namespace std; int main() { int count=0;

for(int n=1600;n<2000;n++) {

if(n%4==0&&n%100!=0||n%400==0) { cout<<"闰年是:"<<n<<' '; count++; if(!(count%5)) cout<<endl; } else continue; }

return 0; }

[/CODE] 闰年的判断需要再看看书....... 你这样的想通过i的值的改变来实现每行显示5个是不可能达到的..........

[此贴子已经被作者于2005-8-10 10:29:48编辑过]


2005-08-10 10:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-23112-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053520 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved