首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

输出最大值有关问题

2013-10-06 
输出最大值问题#include stdio.husing namespace stdfloat max(float x,float y){float zif(xy)zxe

输出最大值问题
#include <stdio.h>

using namespace std;

float max(float x,float y)
{
   float z;
    if(x>y)z=x;
     else z=y;
     return(z);
};
int main()
{
        float a,b,c;
        scanf("%d,%d,",&a,&b);
        c=max(a,b);
        printf("%d,%d,the max is %f\n",a,b,c);
        getchar();
        
}
无法运算要不就出错 c c++
[解决办法]

using namespace std;
//不需要吧,你又没声名iostream

[解决办法]
楼主貌似才开始学习吧。。这个我的解答如下。
#include <stdio.h>

//  using namespace std;  目测楼主使用的c语言,所以这句话是多余的。
 
float max(float x,float y)
{
float z;
    if (x>y) z=x;
else z=y;
return z;
};             // 你的调用函数写的没错

int main()
{
float a,b,c; // 都是单精度的。。
//scanf("%d,%d,",&a,&b);      // 此处为什么输入为%d ?你貌似定义的是单精度类型吧。
scanf("%f%f,",&a,&b);      // 你的输入语句中"%d,%d,"含有逗号,为方便输入,去掉调号了。。
c=max(a,b);

//printf("%d,%d,the max is %f\n",a,b,c); 此处为什么输出为%d ?你貌似定义的是单精度类型吧。。

printf("%f,%f,the max is %f\n", a,b,c);
// getchar();  这句话可要可不要

return 0 ;        // 主函数int main(), 为int型, 故此处需要返回值

}


运行结果如下:


[解决办法]
引用:
float 的输入怎么用 %d 应该用 %lf
输入必须严格一致,因为输入参数,是指针,类型不对应(尤其是格式长,类型短),指针操作越界,产生数据输入紊乱。
%f,%e,%E,%g,%G-->float
%lf,%e,%lE,%lg,%lG-->float
%c-->char

%i -->int

%hd-->short
%d -->int
%ld-->long
%lld-->long long

%hu-->short
%u -->int
%lu-->long
%llu-->long long


%hx-->short
%x -->int
%lx-->long
%llx-->long long

%s --->char[];

[解决办法]

scanf();
printf();

//注意注意: 两个格式化输入输出函数,格式化,对应格式!!!
//格式没有对应起来,出了什么错都是你的错!!!

[解决办法]
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。

热点排行