做C++时遇见的几个简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:04:31
本人初学C++,九月份就要参加全国二级考试了,前几天花了两个半晚上做了19道编程题(快赶上高三那阵了),自认为编写的代码没什么问题,哪知第二天上机一运行,天哪,居然这么多问题!!!我琢磨了半天也想不透问题出在哪,麻烦各位大虾帮忙看下,提前谢谢啦!这些题目都是很简单的,呵呵。
1.根据以下函数关系,对于给定的每个x值,求出y值。
y=x-1,其中x=-5,1
y=x(x+2),其中x=2,10
y=2x,其中x=3.5,123.456
解:#include<iostream.h>
void main () {
double x,y;
cout<<"请输入X:"<<endl;
cin>>x;
if(x==-5||x==1) y=x-1;
else if(x==2||x==10) y=x*(x+2);
else if(x==3.5||x==123.456) y=2*x;
cout<<"y="<<y<<endl;}
错误:如果输入题目中给定的六个数没问题,但我试着输入其他的数,程序也给出了结果,比如输入10,屏幕显示y=120,输入25,显示y=-9.25596e+061,等等。奇怪,怎么回事呀?
2.编写程序,求1-3+5-7+...-99+101的值。
解:#include <iostream.h>
void main (){
int s=0,i,a=1,b=1;
for(i=1;1<=101;i+=2){
b=a*i;
s+=b;
a=-a;
}
cout<<"sum:"<<s<<endl;
}
错误:运行时屏幕漆黑一片,没有任何反应,就连press any key to continue也没有,而且用鼠标拖动屏幕的标题栏屏幕也移动不利落,好象机器变慢了一样,难道这几行字

1.这里y的值应该是定义变量时的初始值
2.死循环,把第4行改为“for(i=1;i<=101;i+=2){”
3.循环括号之类的问题,我给重写下:
(a)#include <iostream.h>
void main () {
double e=1.0,a,b;
for(int i=1;i<=50;i++){
a=1;
for(int j=1;j<=i;j++) a*=j;
b=1/a;
e+=b;}
cout<<"e="<<e<<endl;
}
(b)同理
4.缺少“}”

1 题 你只判断给定的几个数算法 其他数你没有算法 如果输入其他数 当然就随机给个数了
2 你的算法 我没看懂 我给你个 你试试
#include <iostream.h>
void main (){
int s=0,i,a=1 ,b
for(i=1;1<=101;i+=2){
a++
if(a%2==0){
b=-i
}
s+=b;
}
cout<<"sum:"<<s<<endl;
}
注意是 “()” 是中文的 到时候 你改成英文的

3 你看看 语法书 我记得 嵌套的循环也要加{} 的 你改成这样
:(a)#include <iostream.h>
void main () {
double e=1.0,a,b;
for(int i=1;i<=50;i++){
for(int j=1;j<=i;j++){
a*=j;
b=1/a;
}
e+=b;
}
cout<<"e="<<e<<en