标题:
新人 前来报到
[打印本页]
作者:
我爱++
时间:
2010-7-12 16:57
标题:
新人 前来报到
开始学C++了呢,自己按照题目写了代码 可是编译错误。具体代码如下:
#include <iostream>
using namespace std;
int main()
{
int a=0;
int b=0;
int c=0;
int d=0;
cout<<"输入a: ";
cin>>a;
cout<<"输入b: ";
cin>>b;
cout<<"输入c: ";
cin>>c;
d=a+b+c;
cout<<"a+b+c= "<<d<<endl;
return 0;
}
请老师指教,以后我会常来的
作者:
fwbook
时间:
2010-7-12 20:30
你好。请发一下错误提示。
作者:
我爱++
时间:
2010-7-14 08:20
我重启VC6然后在运行就没有问题了,为什么在DEVc++上有很多代码运行不了啊
作者:
fwbook
时间:
2010-7-14 09:12
VC 6中默认是按照C++的语法编译。但是在Dev C++中,需要检查一下设置。
作者:
我爱++
时间:
2010-7-14 10:28
不知道《C++从入门到实践》这本书的课后“上机实践”的答案在哪里可以找到。第六章的上机实践题1:用0~9着十个数字组成五位数,要求各位数字都不相同该如何编写呢?老师给点提示吧
作者:
fwbook
时间:
2010-7-14 12:57
你好。上机实践应该在光盘中可以找到。
关于十个数字组成五位数,我简单说一下思路。
设置i表示这个五位数,则五位数的最小为10234,最大为98765。这样就可以让
for(i=10234;i<=98765;i++)进行循环。
然后依次计算i的万位、千位、百位、十位、个位的数。
如果五个数字都不一样,就是符合条件的数字。
这是基本思路,你可以考虑一下。
作者:
我爱++
时间:
2010-7-14 14:44
#include <stdio.h>#include <math.h>void main(){ int i,m,k,n=0; for(m=1;m<=100;m++) { k=(int)sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k) { printf("%3d",m); n=n+1; } if(n%10==0) printf("\n"); } printf("\n");}
求管理员解释这串代码特别是套嵌部分
作者:
我爱++
时间:
2010-7-14 16:12
#include<iostream>
using namespace std;
int main()
{
int j;
for(int i=2;i<100;i++) //第一循环是从2-100个数
{
for(j=2;j<=i/2;j++) //第二个循环是判断i的值是不是素数.
{
if(i%j==0) //如果被整除 那么就不是素数.跳出
break;
}
if(j>i/2) //判断上面循环是否正常结束
cout<<i<<" "; //如果上面循环正常结束 则i是素数 输出
}
cout<<endl;
}
这个有注释j<=i/2是什么意思
作者:
fwbook
时间:
2010-7-14 16:24
7#
我爱++
#include <stdio.h>
#include <math.h>
void main(){
int i,m,k,n=0;
for(m=1;m<=100;m++) 'm从1循环到100
{
k=(int)sqrt(m); '求m的平方根,并取整数
for(i=2;i<=k;i++) 'i从2循环到k
if(m%i==0)break; '如果m可以被i整数,说明m不是素数
if(i>k) '如果i大于k了,
{
printf("%3d",m); 输出m
n=n+1; '计数加1。
}
if(n%10==0) '如果n是10的整数
printf("\n"); '输出一个换行符
}
printf("\n");}
作者:
fwbook
时间:
2010-7-14 16:25
8#
我爱++
这里j<i/2 是为了降低j的循环次数。
作者:
我爱++
时间:
2010-7-14 16:35
老师 第二个for循环 我一直没弄清楚 比如9l的代码 K是品方根取整数,从2循环到这个整数有什么用啊
作者:
fwbook
时间:
2010-7-14 18:07
11#
我爱++
这和素数的定义有关。素数要求数字只能被1和本身整除。这里为了检验是否为素数,所以就从2到k的数字挨个来除,看是否能被整除。如果可以整除,说明这个数字不是素数。
作者:
我爱++
时间:
2010-7-16 19:56
#include <iostream>
using namespace std;
int main()
{
int *sum=0; //定义一个整形指针变量*sum并初始化为0
int *p=0; //定义一个整形指针变量*p并初始化为0
int x=0; //定义一整形变量x并初始化为0
sum=new int[100]; //用new为sum申请100内存空间
*sum=1; //将*sum赋值为1,也就是首地址保存为1
p=sum; //保存空间的首地址
for (int i=2; i<=100;i++) //使用for循环,循环初始值i为2(从第二格内存地址开始),次数为小于等于100;i自增
{
x=*sum; //x保存*sum的值为1
sum++; //内存地址向后移动一位
*sum=x+i; //将x+i的值存入*sum,*sum=1+2。此时循环到x=*sum,x=1+2。移动一位,*sum=1+2+i.......
}
cout<<"和为:"<<*sum<<endl;
delete[] sum;
sum=0;
p=0;
return 0;
}
老师帮我看一下注释写的对不对。这代码我在变编译的时候出现了内存错误,请检查
作者:
fwbook
时间:
2010-7-17 16:57
发一下内存错误的具体提示信息。
作者:
我爱++
时间:
2010-7-19 16:51
是windows报错,说是遇到问题需要关闭。5050是算出来了
老师,第八章复合类型最后的“上机实践”有这样一题“用new实现一个整型的动态二维数组int[3][2],从键盘读入数字进行初始化,并输出数组所有元素”。书上给了一段核心代码:
#include <iostream>
using namespace std;
int main()
{
int *p[3]; //定义一个数组指针
for (int i=0; i<3; i++)
{
p[i]=new int[2]; //为每个指针申请两个存储空间
}
接下去我实在不知道怎么写了,求思路
作者:
fwbook
时间:
2010-7-20 08:51
然后就是循环从键盘上读取输入,对数组进行赋值。
最后循环输出,就OK了。
作者:
我爱++
时间:
2010-7-21 18:44
用for循环吗?老师能不能把键盘读取-赋值这段写出来我看看,要是光盘里有答案就好了
作者:
fwbook
时间:
2010-7-21 21:45
17#
我爱++
for和while都可以。只要把数组赋值好,就可以了。
作者:
我爱++
时间:
2010-7-29 19:27
我看了一半了,可是题目却做不出来是什么原因类
作者:
fwbook
时间:
2010-7-30 08:50
这个代码是是首先动态定义。然后就需要从键盘读取了。读取的死后,还是使用for循环的方式,给每个元素赋值。赋值后,再次循环,依次输出每个元素的值。
作者:
benyitonghei
时间:
2010-8-1 13:44
我发现JAVA和C++也差不多嘛。。看了JAVA以后,感觉这C++也不怎么难哦
作者:
fwbook
时间:
2010-8-1 23:03
我在另外一个帖子中回复了。你看一下。
作者:
我爱++
时间:
2010-8-4 20:28
差不多了,老师 C++学习算法和数据结构也很重要吗
作者:
fwbook
时间:
2010-8-4 22:23
23#
我爱++
如果你打算以后以C++为主,建议你学习一下数据结构和算法。这样可以帮助你提高编程能力。
作者:
我爱++
时间:
2010-8-14 21:16
老师
类是什么,感觉和前面几章接不上啊
作者:
fwbook
时间:
2010-8-14 22:20
25#
我爱++
怎么回答你的问题呢?我打一个比方,你可以试着理解一下。
我手头边有一个照片。我给你看照片的局部。白色的毛、长耳朵、红眼睛、吃萝卜。单独这些局部,很难猜出来这是什么动物。但是综合起来,大家就知道这是一只兔子。
这些局部,白色的毛、长耳朵、红眼睛,可以看作书中前面讲解的变量和数据类型,而吃萝卜,可以看作函数。单独的变量、数据类型、函数很难描述我们实际中的东西。但是把这些东西综合起来,就可以了。
类就是对前面章节的内容的综合应用。
欢迎光临 万卷图书 (http://wanjuanchina.net/)
Powered by Discuz! 7.0.0