| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1385 人关注过本帖
标题:(急)朋友们们帮个忙关于C++的问题????????????
只看楼主 加入收藏
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
孔明兄,看一下……cpp里面大于号(比较大小的)能连用吗?就像这样: bln=a>b>c
我手头没有cpp 抱歉。但我没这么用过

[此贴子已经被作者于2007-8-12 22:19:04编辑过]

2007-08-12 22:18
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用multiple1902在2007-8-12 22:18:04的发言:
孔明兄,看一下……cpp里面大于号(比较大小的)能连用吗?就像这样: bln=a>b>c
我手头没有cpp 抱歉。但我没这么用过

大于号可以连用,但不是其表达本意
例如
5>9>-1
先判断
5>9 为假 即5>9=0
然后
0>-1 为真 即0>-1=1
所以
5>9>-1在C中表达式值为1
是荒谬的,所以虽然可以连用,但不是本意
可以改为
5>9 && 9>-1
这样就对了


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-08-12 22:25
terisevend
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-6-2
收藏
得分:0 
注意: 逻辑符号可以连用,但是表达的东西就如空明兄说的...(以下修正均已默认逻辑符号没连用...)

第一个程序:
d = max(a,b,c);
你的max函数定义了没有?或者说, max函数在main后面?那么就是缺少函数声明了...
如果max函数在main后面定义了的话,在main之前(或调用max之前)作声明就可以了,声明如下:
int max(int, int, int);
如果是没定义max函数的话(max函数是自定义类型,而且声明不在stdio.h中...),定义可以是这样:
int max( int aa, int bb, int cc )
{
int max = aa;

if( bb > max )
max = bb;
if( cc > max )
max = cc;

return max;
}

修正后,确定调试成功!

程序2:
在scanf("%d,%d,%d\n",&a,&b,&c); 中, 不要加\n...除非你想输入完3个数字后,需要再输入多个值,才能执行后面的代码...
而且,输入的时候,也要想scanf里的那样, 如: 1,2,3

还有...对于你的那个判断(if-if-else), 改成(if-else if-else)...不然...会输出2个结果...

修正后,确定调试成功!

程序3:
scanf("%d%d",a,b); 中, %d与%d要有符号格开... 如 scanf("%d %d",a,b); 输入例子: 1 2
printf("\n"); 这只是空行... 应该改成printf("%d\n",a); 下面一个printf同样...
至于printf(...);旁边的注释...C中用/* */ 而C++增加了一种//, 如: /*TEST*/ 或 //C++
/* */和//的区别就在于,//只能是一行.../* */可以是多行...
其他的没问题...

修正后...确定调试成功!

[此贴子已经被作者于2007-8-12 22:40:13编辑过]


2007-08-12 22:34
skywolfkun
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-5-6
收藏
得分:0 
程序1:max那个是函数!需要在main函数之前先定义!然后写上max的动作
int max( int a, int b, int c )
{
int max;
max=(a>b)?a:((b>c)?b:c);
return max;
}
还有个最关键的!先给abc赋初值然后再调用函数max!完整的程序应该这样:
#indluce<stdio.h>
int max(int a,int b,int c);
void main()
{
int a,b,c,d;
printf("请输入三个数:\d");
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("\nmax=%d",d);
}
int max( int a, int b, int c )
{
int m;
max=(a>b)?a:((b>c)?b:c);
return m;
}

程序2:scanf("%d,%d,%d\n",&a,&b,&c); 输入的时候不用换行!还有最关键的!这个if(a<b<c)是语法错误!
<号是2目的!也就是说只能写成形如a<b这样的!可以这样写!
    #include<stdio.h>
void main()
{
int a,b,c,max;
printf("请输入三个数:");
scanf("%d,%d,%d",&a,&b,&c);
max=(a>b)?a:((b>c)?b:c);
printf("\nmax=%d",max);
}
程序3:你输出的怎么只是个换行呢?要这么写
#include<stdio.h>
void main()
{
int a,b;
printf("请输入两个数:");
scanf("%d%d",&a,&b);
if(a>b)
printf("%d\n",a);
else
printf("%d\n",b);
}

2007-08-13 00:51
yfbn
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-12
收藏
得分:0 
回复:(skywolfkun)程序1:max那个是函数!需要在m...
谢谢各位!!!
图片附件: 游客没有浏览图片的权限,请 登录注册
2007-08-13 11:04
yfbn
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-12
收藏
得分:0 
以下是引用skywolfkun在2007-8-13 0:51:41的发言:

程序2:scanf("%d,%d,%d\n",&a,&b,&c); 输入的时候不用换行!还有最关键的!这个if(a<b<c)是语法错误!
<号是2目的!也就是说只能写成形如a<b这样的!可以这样写!
    #include<stdio.h>
void main()
{
int a,b,c,max;
printf("请输入三个数:");
scanf("%d,%d,%d",&a,&b,&c);
max=(a>b)?a:((b>c)?b:c);
printf("\nmax=%d",max);
}

这个程序调试过输入了12 13 14三个数值,输出的最大结果为什么max=12,到底还还缺少什么条件

图片附件: 游客没有浏览图片的权限,请 登录注册

2007-08-13 18:47
yfbn
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-12
收藏
得分:0 
以下是引用卧龙孔明在2007-8-12 22:25:56的发言:

大于号可以连用,但不是其表达本意
例如
5>9>-1
先判断
5>9 为假 即5>9=0
然后
0>-1 为真 即0>-1=1
所以
5>9>-1在C中表达式值为1
是荒谬的,所以虽然可以连用,但不是本意
可以改为
5>9 && 9>-1
这样就对了

  卧龙孔明: 你的意思我还是不能完全领悟
能帮我解释以下这个部分

图片附件: 游客没有浏览图片的权限,请 登录注册

2007-08-13 19:03
狂人老大
Rank: 1
来 自:杭州
等 级:新手上路
威 望:1
帖 子:394
专家分:0
注 册:2007-6-21
收藏
得分:0 
以下是引用yfbn在2007-8-13 19:03:27的发言:

  卧龙孔明: 你的意思我还是不能完全领悟
能帮我解释以下这个部分


假设max为最大值 先将a与max比较 a大则a赋值给max 否则再将max和c比较 max大的话就直接输出max
c大的话将c赋值给max 然后将max输出

[此贴子已经被作者于2007-8-13 19:57:42编辑过]


ACMer的QQ群:33741351
单片机QQ群:55130117
2007-08-13 19:55
yfbn
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-12
收藏
得分:0 
回复:(狂人老大)以下是引用yfbn在2007-8-13 19:03:...
狂人老大!谢谢你
2007-08-15 13:49
快速回复:(急)朋友们们帮个忙关于C++的问题????????????
数据加载中...
 
   



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

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