C++问题,求高手

作者&投稿:阿闻 (若有异议请与网页底部的电邮联系)
c++问题!求高手~

题目呢?没有问题怎么给你解决

什么叫不要拿C、。。。来充数
C++和数学函数库本来就用的C语言的。
======================================================
平方的话,a*a就行了
sqrt(a),是平方根
pow(a,b),是a的b次方(应该可以是整数吧,感觉可以自动转换的)

知道网址:http://zhidao.baidu.com/question/316884259.html
----------------------------------------------------------------------------------------------------------
你说的是main函数中的return? return 0; 是告诉操作系统你的程序运行正常,而其他数字是代表了一个错误号。但是有时我们可以不用这么准确,错误了返回1就可以了。但是在驱动编程中最好把各个错误号对应好:
下面是返回值的具体意义:

EPERM Operation not permitted 1
ENOENT No such file or directory 2
ESRCH No such process 3
EINTR Interrupted function 4
EIO I/O error 5
ENXIO No such device or address 6
E2BIG Argument list too long 7
ENOEXEC Exec format error 8
EBADF Bad file number 9
ECHILD No spawned processes 10
EAGAIN No more processes or not enough memory or maximum nesting level reached 11
ENOMEM Not enough memory 12
EACCES Permission denied 13
EFAULT Bad address 14
EBUSY Device or resource busy 16
EEXIST File exists 17
EXDEV Cross-device link 18
ENODEV No such device 19
ENOTDIR Not a directory 20
EISDIR Is a directory 21
EINVAL Invalid argument 22
ENFILE Too many files open in system 23
EMFILE Too many open files 24
ENOTTY Inappropriate I/O control operation 25
EFBIG File too large 27
ENOSPC No space left on device 28
ESPIPE Invalid seek 29
EROFS Read-only file system 30
EMLINK Too many links 31
EPIPE Broken pipe 32
EDOM Math argument 33
ERANGE Result too large 34
EDEADLK Resource deadlock would occur 36
EDEADLOCK Same as EDEADLK for compatibility with older Microsoft C versions 36
ENAMETOOLONG Filename too long 38
ENOLCK No locks available 39
ENOSYS Function not supported 40
ENOTEMPTY Directory not empty 41
EILSEQ Illegal byte sequence 42
STRUNCATE String was truncated 80

------------------------------------------------------------------------------------------------

#include<stdio.h>#include<pthread.h>#include<errno.h>#include<string.h>//externinterrno;int main(int argc,char**argv){ pthread_t thread; int status; status =pthread_join(pthread_self(),NULL); if(status != 0){ fprintf(stderr,"error %d: %s\n", status,strerror(status)); } if(status == EDEADLK){ printf("error is EDEADLK\n"); } printf("errno = %d\n",errno); return status;}
执行结果:

error 35: Resource deadlock avoided
error is EDEADLK
errno = 0

1.传统上的函数在成功返回时,返回一个0指示调用成功或者返回一个有效值,当有错误发生时候,返回-1,并对全局变量errno赋值以指示错误类型;传统的报错机制很难创建在报错的同时返回一个有用的-1值的函数。
2.pthread函数在出错时不会设置errno变量(如上面程序,pthread_join出错,errno仍为0),而大多数其它posix函数会设置。
3.pthread 函数用返回值表示错误状态,而不是errno,(比如上面程序,用返回值status表示错误状态EDEADLK), 当成功时返回0,并包含一个额外的输出参数来指向存有“有用结果”的地址;当有错误发生时,返回一个包含在<errno.h>里的错误代码。
4.pthread 同样提供了线程内的errno变量以支持其它使用errno的代码,意味着当线程调用使用errno报错的函数时,errno不会被其它线程重写或者读取;设置和读取线程内的errno变量要比读取内存地址或者返回值带来更多的开销。而传统的UNIX系统和POSIX.1-1990标准中, errno是一个外部整形变量, 由于一次只能有一个值,所以只能支持进程中的单一执行流程(所以,上面例子中, extern int errno 可以去掉)。
5.pthread_join遇到无效的线程id的时候会返回错误代码ESRCH,显示信息:error 3: no such process,如果遇到初始线程(上面例子中,进程没有其它线程),此时,如果Pthread函数实现自死锁检测功能,pthread_join会返回错误代码EDEADLK, 否则线程将挂起等待自己退出(即自死锁)。
6.pthread中没有像perror那样按照指定格式打印错误信息的等价函数,相反使用strerror获得多错误代码的描述,然后打印到strerr文件流中(如上面例子)。

------------------------------------------------------------------------------------------------------------

Linux 系统错误代码

下面的列表显示常见的 Linux 系统错误代码。
1 EPERM
Operation not permitted
操作不许可
2 ENOENT
No such file or directory
无此文件或目录
3 ESRCH
No such process
无此过程
4 EINTR
Interrupted system call
系统调用被禁止
5 EIO
I/O error
I/O 错误
6 ENXIO
No such device or address
无此器件或地址
7 E2BIG
Arg list too long
Arg 列表太长
8 ENOEXEC
Exec format error
Exec 格式错误
9 EBADF
Bad file number
文件数目错误
10 ECHILD
No child processes
无子过程
11 EAGAIN
Try again
再试一遍
12 ENOMEM
Out of memory
内存溢出
13 EACCES
Permission denied
许可拒绝
14 EFAULT
Bad address
错误的地址
15 ENOTBLK
Block device required
需要块设备
16 EBUSY
Device or resource busy
设备或资源忙
17 EEXIST
File exists
文件存在
18 EXDEV
Cross-device link
跨器链接
19 ENODEV
No such device
无此设备
20 ENOTDIR
Not a directory
不是一个目录
21 EISDIR
Is a directory
是一个目录
22 EINVAL
Invalid argument
无效的函数自变量
23 ENFILE
File table overflow
文件表溢出
24 EMFILE
Too many open files
打开的文件太多
25 ENOTTY
Inappropriate ioctl for device

26 ETXTBSY

Text file busy
文本文件忙
27 EFBIG
File too large
文件太大
28 ENOSPC
No space left on device
磁盘空间不足
29 ESPIPE
Illegal seek
不合法的寻找
30 EROFS
Read-only file system
只读文件系统
31 EMLINK
Too many links
太多的链接

int main(void)
{
int m[100],i,n;
int *a;
a=m;
printf("输入数字:");
for(a=m; a<m+100;)
scanf("%d",a++);
printf("MAX=%d",aMAX(*a,n));
printf("MIN=%d",aMIN(*a,n));
printf("AVE=%lf",aAVE(*a,n));
return 0;
}
这里面那个*a根本就是多余的,改成
for(i=0; i<00;i++)
scanf("%d",m[i]);
printf("MAX=%d",aMAX(m,n));
printf("MIN=%d",aMIN(m,n));
printf("AVE=%lf",aAVE(m,n));

我晕,你几个函数里都这样啊,你不会数组操作吗?
给你改一个吧,你试试该其他的
int aMAX(int *a,int n)
{
int max,i;
max=a[0];
for(i=0; i<n; i++)
{
if(max<a[i]) max=a[i];
}
return max;
}

不懂的话,在问吧

你说的是main函数中的return? return 0; 是告诉操作系统你的程序运行正常,而其他数字是代表了一个错误号。但是有时我们可以不用这么准确,错误了返回1就可以了。但是在驱动编程中最好把各个错误号对应好:
下面是返回值的具体意义:

EPERM Operation not permitted 1
ENOENT No such file or directory 2
ESRCH No such process 3
EINTR Interrupted function 4
EIO I/O error 5
ENXIO No such device or address 6
E2BIG Argument list too long 7
ENOEXEC Exec format error 8
EBADF Bad file number 9
ECHILD No spawned processes 10
EAGAIN No more processes or not enough memory or maximum nesting level reached 11
ENOMEM Not enough memory 12
EACCES Permission denied 13
EFAULT Bad address 14
EBUSY Device or resource busy 16
EEXIST File exists 17
EXDEV Cross-device link 18
ENODEV No such device 19
ENOTDIR Not a directory 20
EISDIR Is a directory 21
EINVAL Invalid argument 22
ENFILE Too many files open in system 23
EMFILE Too many open files 24
ENOTTY Inappropriate I/O control operation 25
EFBIG File too large 27
ENOSPC No space left on device 28
ESPIPE Invalid seek 29
EROFS Read-only file system 30
EMLINK Too many links 31
EPIPE Broken pipe 32
EDOM Math argument 33
ERANGE Result too large 34
EDEADLK Resource deadlock would occur 36
EDEADLOCK Same as EDEADLK for compatibility with older Microsoft C versions 36
ENAMETOOLONG Filename too long 38
ENOLCK No locks available 39
ENOSYS Function not supported 40
ENOTEMPTY Directory not empty 41
EILSEQ Illegal byte sequence 42
STRUNCATE String was truncated 80


非要用指针么?可以不用的,
再就是主函数中n没有赋值
for(a=m; a<m+100;),这句话也有问题
一定要输入100个数才结束?,要控制输入一部分就可以结束的
if(max<m[i]) max=*(a+i);这个对吗?好像是子函数不能这么用的
还有子函数中的n,好像也不能用


请教小学数学问题,求高手解答,要有详细步骤哦~
一、玩具狗 解:(1)根据题意,两狗第一次相遇时,它们一共走了1倍的AB间距离(我们标识为S);第二次相遇时,它们合计又多走了2倍的S,此时一共走了3S;第三次相遇时,合计共走了5S。依此类推,当它们第2008次相遇时,合计行走的总路程=(2008-1)×2+1=4015S。(2)根据公式S=VT,时...

请教小学数学问题,求高手解答,要有详细步骤哦~
解法一:算术法:解:52-5=147(人)若学生总数中减少5名女生,而男生不变 则女生人数比男生人数少1\/11 即女生人数是男生人数的10\/11 一共有男生:147÷(1+(10\/11))=77(人)一共有女生:152-77=75(人)答:略 解法二:方程法:解:设五年级男生有x人,则:女生有152-x人 x-1\/11x=152-x...

请教小学数学问题,求高手解答,要有详细步骤哦~
3、解:设乙车每小时行x千米。﹙42+x﹚×5=450 42+x=450÷5 42+x=90 x=48 答:乙车每小时行48千米。4、无盖就是只有一个底面﹙长乘宽不用乘2﹚,共5个面 ①20×15+﹙20×10+15×10﹚×2 =300+﹙200+150﹚×2 =300+350×2 =300+700 =1000﹙厘米²﹚=10...

请教小学数学问题,求高手解答,要有详细步骤哦~
1、错 2、错 3、错 4、对 5、对 五、1、(1)每隔4个重复:63÷4=15余3 所以第63个是三角形 (2)每隔5个重复:63÷5=12余3 所以第63个是正方形

请教初中数学问题,求高手解答,要有详细步骤哦~
由勾股定理得:AP平方 = AC平方 + CP平方 ∴ (2t)平方 = 64 + t平方 ∴取正数解得:t= (8\/3)倍(根号3)∴当运动 2倍(根号3) 秒 或 (8\/3)倍(根号3)秒时,△PAC为直角三角形。【很高兴为你解决以上问题,希望对你的学习有所帮助!】≤、≥ ∠ ...

请教小学数学问题,求高手解答,要有详细步骤哦~
(1)957+198=957+(200-2)=957+200-2=957-2=955 (2)35+(89+75)=35+75+89=110+89=199 (3)150+185+215+850=(150+850)+(185+215)=1000+400=1400 (4)475+340+25+60=(475+25)+(340+60)=500+400=900

请教小学数学问题,求高手解答,要有详细步骤哦~
1、因为【乘数】是7,【乘积】的尾数为2,所以【被乘数】最后一位,必然是6;2、因为【被乘数】是三位数,【乘积】也是三位数,所以【被乘数】的第一位数,必然是1;3、因为【被乘数】最后一位的6,乘以7,进4,,而乘积的中间数为8,相差为4;4、所以,【被乘数】中间位数,乘以7后,尾数同样为...

请教初中数学问题,求高手解答,要有详细步骤哦~
因为 角AOC+角BOC=180度。所以 角COE+角COF=1\/2(角AOC+角BOC)=1\/2*180=90.即 OE垂直OF。(2)因为 角COF:角EOB=2:5;设角COF为2x度,则角EOB为5x度。所以 由(1)可知,角COF=角BOF,所以角BOF=2x度。所以 角COE=角EOB-角BOC=角EOB-角COF-角BOF=x度。所以 ...

请教初中数学问题,求高手解答,要有详细步骤哦~
解:(1)设(1)班有x人,则(2)班有104-x人。依题意有:13x+11*(104-x)=1240 ……(1)或:13x+9*(104-x)=1240……(2)解(1)得:x=48 解(2)得:x=76 显然,x=48为正解,即(1)班有48人,(2)班人数:104-48=56即有:56人。(2)两班联合购票可省钱:1240-104*9=304元 ...

请教小学数学问题,求高手解答,要有详细步骤哦~
1箱梨=160-140=20(千克)1箱苹果=(80-3x20)÷2=10(千克) ┃下面的更详细点┃ 12面粉和20大米=4x210=840(千克)12面粉和9大米=3x170=510(千克)11大米=840-510=330(千克)1大米=330÷11=30(千克)3大米=3x30=90(千克)4面粉=170-90=80(千克)1面粉=80÷4=20(千克)...

城北区13616358345: 我有一个关于c++的问题,求高手解答
钊咽炎琥: a这个变量没有必要,直接用j进行判断就可以了. 修改后的代码如下,供参考,望采纳. #include<iostream> using namespace std; int f(int k) { int p=1,i; for(i=1;i<=k;i++) p*=i; return p; } int main() { int s=0,n,j; cin>>n; for(j=1;j<=n;j+=2) { if((j+1)%4==0) s+=-f(j); else s+=f(j); } cout<<s<<endl; return 0; }

城北区13616358345: C++编程题 求高手解答!! -
钊咽炎琥: 1.#include "stdio.h" int main() { int i,s=0; for(i=2;i s+=i*10+4; printf("24+44+64+...+304=%d\n",s); return 0; }2.#include "stdio.h" int main() { int i=0,s=0; do { i+=2; s+=i*10+4;}while(s printf("%d\n",i-2); } 结果:1.2. 18

城北区13616358345: C++难题,跪求高手赐教 -
钊咽炎琥: #include#include using namespace std; int main() { int n; while(cin>>n,n) { char **balloon=new char*[n]; int i,result=0 ,*count=new int[n-1]; for(i=0;i balloon[i]=new char[16]; for(i=0;i cin>>balloon[i]; for(i=0;i for(int j=i;j if(strcmp(balloon[i],balloon[j])==0) ...

城北区13616358345: c++问题,求高手帮忙 -
钊咽炎琥: 因为 if(n>=3)y=mathusing(n-1)+mathusing(n-2);}也就是当N=3的时候,会执行一次mathusing(1),还会执行一次mathusing(2);再调用的时候 里面有cout<<y;就会打印1和1,之后mathusing...

城北区13616358345: 求高手帮忙!!!C++的问题!!! -
钊咽炎琥: 主要是程序中的cout<<"This is a C++ program\n; 这一句差一个后引号的,当在C++中要输出字符串的时候就需要使用双引号括起来,这句就还差了一个引号的!程序修改后如下: #include<iostream> using namespace std; int main() { cout<<...

城北区13616358345: 求高手解答C++基本问题~ -
钊咽炎琥: 先算括号内的数1.计算第一个(++a),这时,a=5+1=62.计算第二个(++a),这时,a=6+1=73、计算a+a = 7+7=14存储到临时变量中4.计算第三个(++a),这时,a=7+1=85、计算b=14+a=14+8=22计算机在计算时,采用堆栈技术实现运算过程,变量a在系统中存储的位置是不变的,所以第二个a变化时,第一个也就随之变化了.而其结果存在另一个位置,所以,最后的++a不会影响14这个数值.

城北区13616358345: 一个c++作业,求高手解答 -
钊咽炎琥: #include #include #include //定义头文件.class Employee{ //定义class employee....

城北区13616358345: 求高手用c++解决个问题
钊咽炎琥: 方法一:直接查找法,将学好定义成string或者是整数类型,将学号存入数组里,然后每输入一个学号就与前面已经存的进行比较,如果相同输出错误的信息. 方法二:建一个与学号最大值相等的bool数组,每录入一个数,看Bool数组状态位的情况(可设为有这个数,为1,没有为0),然后判断是否已经有该数.例如输入学号1111111,然后判断sat[1111111]是为1还是为0.

城北区13616358345: C++菜鸟问题求高手回答 -
钊咽炎琥: UpdateData(true); ////先吧控件里的更新到变量里,要不还是之前的值 this->m_y=m_x; UpdateData(false);// 改完后,把变量的值再更新到控件里

城北区13616358345: c++问题 求高手指点
钊咽炎琥:#include <stdio.h> void main() { int a,b,c; for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++){ if((a*1000+b*100+c*10+6)%18==0 && a+b==b+c) printf("%d\n", a*1000+b*100+c*10+6); } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网