开贴解决各种C++问题
c++吧
全部回复
仅看楼主
level 8
把代码粘贴在下面,有贴必回,当然我也不可能都会
2013年11月14日 22点11分 1
level 11
占座听讲
2013年11月14日 23点11分 2
level 13
占楼
2013年11月14日 23点11分 3
level 1

写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应当准备以下测试数据:17、34、2,1、0。分别输入数据,运行程序并检查结果是否正确。<?xml:namespace prefix="o" ns="urn:schemas-microsoft-com:office:office"></?xml:namespace>
2013年11月15日 02点11分 6
你这是出现乱码了,我可以看下你的代码吗?我重新写了代码,放在14楼了,你可以看下
2013年11月15日 10点11分
回复 追求快乐的石头 :等回复[乖]
2013年11月15日 10点11分
2013年11月15日 10点11分
level 9
effective c++139页提到,大部分调试器面对inline函数都束手无策,毕竟你如何在一个并不存在的函数内设计断点,许多建置环境 在调试版本中禁止发生inlining。 这里有2个不明白的地方,1.一个并不存在的函数? 2.即使不是函数,就不能设立断点了吗?比如在变量定义的地方可以设立断点呀? 如有愚昧之处,恳请点出!
2013年11月15日 02点11分 7
明天回你,总觉得有什么不对劲,我得好好想想[委屈]
2013年11月15日 11点11分
回复 追求快乐的石头 :好的![真棒]
2013年11月15日 12点11分
什么叫inline,inline标记的函数在编译后变成了什么,inline和宏的区别与联系。这些概念百度上一大堆
2013年11月17日 01点11分
回复 npu_wy :想了解c++吗?写一段代码,编译后,阅读它的汇编程序,看它的各种特点是如何布局规划的
2013年11月17日 01点11分
level 11
template <class T>
class CriticalMessage

std::deque<T> ATM;
......
void InsertATM(const std::deque<T>::iterator & B,const std::deque<T>::iterator & E){ATM.assign(B,E);}《-为啥这个定义会报错。。。。
expected unqualified-id before '&' token
expected `,' or `...' before '&' token
................
2013年11月15日 03点11分 8
去掉std试试,在线等回复
2013年11月15日 10点11分
回复 追求快乐的石头 :还是一样不行。
2013年11月15日 13点11分
回复 吞薯条 :能看下你的整个源代码吗?
2013年11月15日 23点11分
level 5
int array1[10];与
int* array2 = new int [10];有何区别?
sizeof(array1) 结果是40,sizeof(array2)结果是4,为什么?
2013年11月15日 03点11分 10
int array1[10];这句话是在定义一个整型数组,有十个元素,每个int类型是占用4个字节,4*10=40; int* array2=new int [10];是定义了一个名为array2的指针,指针就是一个地址值,在32位系统下,占用4个字节,
2013年11月15日 11点11分
level 4
用数组处理Fibonacci数列,打印出前20项。
已知Fibonacci数列:
1 1 2 3 5 8 13 21 34 ……
2013年11月15日 03点11分 11
level 4
#include<stdio.h>
main()
{
int a[20]={1,1},i,a;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(a=1;a<=20;a++)
printf("%d ",a[i]);
}
2013年11月15日 03点11分 12
你这里a 重定义了,你把第二个用于循环的a换成其他变量如j;附下我的代码 #include<stdio.h> void main() { int a[20]={1,1},i,j; for(i=2;i<20;i++) a[i]=a[i-1]+a[i-2]; for(j=1;j<=20;j++) printf("%d ",a[j]); printf("\n"); }
2013年11月15日 11点11分
回复 追求快乐的石头 :谢了哦,很有用[真棒]
2013年11月16日 08点11分
回复 追求快乐的石头 :为什么a不从0开始,我说的是输出的时候?
2013年11月17日 03点11分
level 11
新手求程序,主要输出"你在装逼吗??"
2013年11月15日 05点11分 13
[委屈]
2013年11月15日 11点11分
回复 追求快乐的石头 :[吐舌]
2013年11月15日 14点11分
level 9
怎么改变c++界面的颜色 全黑色不好看 可以改成有色的图片不?
2013年11月15日 05点11分 14
貌似不能[乖]
2013年11月15日 11点11分
system("color 3p")//控制台的背景颜色设置函数
2013年11月17日 01点11分
回复 IT男year :具体呢大神[乖]
2013年11月17日 04点11分
回复 IT男year :在vasul 6.0的环境中
2013年11月17日 04点11分
level 8
#include<iostream>
#include<cmath>
using namespace std;
int aa[5]={17,34,2,1,0};//定义的数组
bool isprime(int key);//函数isprime的声明
int main()
{
for (int i=0;i<5;i++)
{
if (isprime(aa[i]))
{
cout<<aa[i]<<"是素数"<<endl;
}
else
{
cout<<aa[i]<<"不是素数"<<endl;
}
}return 0;
}
bool isprime(int key) //判断函数是否为质数的函数
{
for(int i=2;i<=sqrt(key);i++)
if(key%i==0) return false;
return true;
}
2013年11月15日 10点11分 16
sqrt()里面的数要是浮点型
2013年11月17日 03点11分
level 12
我的问题是没有好的适合新手练习的题……求解答
2013年11月15日 10点11分 17
课后习题
2013年11月15日 11点11分
level 10
#include<iostream>
#include<time.h>
using namespace std;
int number(int number);
int blackHoleNumber(int number);
int getNumber(int number)
{
static counter = 0;
int value;
int i = 0,j,temp;
int maxNumber = 1000,minNumber = 1000;
int digi[4];
while( number != 0 )
{
digi[i] = number%10;
number = number/10;
i++;
}
for ( j = 0; j < 5; j++ )
{
for ( i = 0; i < 5 - j; i++)
{
if ( digi[i] > digi[i+1] )
{
temp = digi [i];
digi[i] = digi[i+1];
digi[i+1] = temp;
}
}
}
minNumber = digi[0]*1000 + digi[1]*100 + digi[2]*10 + digi[3] ;
maxNumber = digi[3]*1000 + digi[2]*100 + digi[1]*10 + digi[0] ;
value = maxNumber - minNumber;
if (counter % 2 == 0)
{
cout << "第" << (counter + 2)/2 << "次计算:\n";
cout << "最大数为: " << maxNumber << "\n最小数为:" << minNumber << endl;
cout << "差值为: " << value << endl;
cout << "=======================" << endl;
}
++counter;
return value;
}
int blackHoleNumber(int number)
{
do
{
number = getNumber(number);
}
while(number != getNumber(number));
return number;
}
int main()
{
srand((unsigned)time(NULL));
int number = rand() % 10000;
cout << "产生的随机数为: "<< number << endl;
int value = blackHoleNumber(number);
cout << "黑洞数为: " << value << endl;
return 0;
}
2013年11月15日 12点11分 19
我的编译器是显示没有错误的,完全可以运行的
2013年11月16日 16点11分
把“static counter = 0;”改成“static int counter = 0;”就行了。
2013年11月17日 07点11分
@追求快乐的石头 你的编译器过时了。自从1998年(ISO C++ 98 标准)开始,“static后面不跟变量类型,则缺省为int”的规定就被废除了。你用的还是15年前的编译器。
2013年11月17日 07点11分
level 10
大神,可以帮我看看楼上为什么出现那错误吗?怎么解决啊?
2013年11月15日 12点11分 20
level 9
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
int a,b,c;
srand(time(0));
a=rand();
b=rand();
c=rand();
cout<<a<<'\n'<<b<<'\n'<<c<<endl;
return 0;
}
用这个程序产生三个随机数,为什么每次运行第一个随机数都是2万多?我试了很多遍都是这样,求解释%>_<%
2013年11月15日 12点11分 21
又试了几次,好像第一个数一次比一次大,时间过得越久就越变大,但是为什么不是随机数呢[疑问]
2013年11月15日 12点11分
如果你要产生0~10的10个整数,可以表达为:   int N = rand() % 11; 这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样:   int N = rand() % 11+1; ——来自 安奈何 Windows Phone 客户端 安安新浪微
2013年11月16日 14点11分
你产生的是srand里的时间(秒)当然越来越大了
2013年11月16日 14点11分
回复 喜星天下 :懂了,多谢啦O(∩_∩)O
2013年11月29日 11点11分
level 9
楼主好人,大一新生,根本没听过课···后来想听又跟不上了。。现在在拼命补习···只是这次作业还没有到那个水平的······求大神指教一下 设计一个计算+、-、*、/的程序
2013年11月15日 13点11分 23
level 8
大神看看
#include<iostream>
using namespace std;
class coord{
int xi;
public:
coord(int i){xi=i;}
coord(){xi=0;}
void seexi(int i){xi=i;}
coord operator+(coord ob1)
{ coord temp;
coord *m,*n;
int x,y,z;
coord obj1[2][2],obj2[2][2];
m=obj1[0];
n=obj2[0];
for(x=0;x<4;x++)
{ y=*(m+x);
z=*(n+x);
temp=y-z;}
return temp;
}
coord operator-(coord ob2)
{ coord temp;
coord *m,*n;
coord x,y,z;
coord obj1[2][2],obj2[2][2];
for(x=0;x<4;x++)
{ m=obj1[0];
n=obj2[0];
y=*(m+x);
z=*(n+x);
temp=y-z;}
return temp;
}
void print()
{cout<<xi<<" ";}
};
void main()
{ int i,j,a;
coord obj1[2][2]={5,6,7,8},obj2[2][2],sumob[2][2],subob[2][2];
cout<<"input obj2="<<endl;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{cin>>a;obj2[i][j].seexi(a);}
cout<<"display obj1"<<endl;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{obj1[i][j].print();}
cout<<endl;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{sumob[i][j]=obj1[i][j]+obj2[i][j];
subob[i][j]=obj1[i][j]-obj2[i][j];}
cout<<"display sumob"<<endl;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{sumob[i][j].print();}
cout<<endl;
cout<<"sidplay subob"<<endl;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{subob[i][j].print();}
cout<<endl;
system("pause");
}
2013年11月15日 13点11分 24
level 5
#include<iostream>
#include<string>
struct student
{
char name[20];
int nume;
double age;
};
using namespace std;
int main()
{
cout<<"欢迎进入224宿舍"<<endl;
student number[2]=
{
{"wxl",28,19};
{"chy",26,19.5};
};
cout<<number[1].name<<endl;
return 0;
}
2013年11月15日 15点11分 25
新手 想用刚刚学的知识试试 结果运行不了 和书上没多大差别啊
2013年11月15日 15点11分
2013年11月15日 15点11分
@ 追求快乐的石头
2013年11月15日 15点11分
2013年11月15日 15点11分
1 2 尾页