求表达式值(float)(a+b)/2+(int)x%(int)y

编写一段程序
输入:只有一行,包含四个数a,b,x,y用空格隔开,其中x,y为浮点数,a,b为整数。
输出:表达式的值并保留六位小数
样例输入:2 3 3.5 2.5
样例输出:3.500000

#include<stdio.h>

int main()

{

int a,b;

float x,y,c;

scanf("%d%d%f%f",&a,&b,&x,&y);

c=(float)(a+b)/2+(int)x%(int)y;

printf("%f",c);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-20
你好,a,b,x,y没有具体数值是不能计算的。不过可以设一下:a=2,b=5,x=7.6,y=2.8首先a+b的值为7,因为float属于强制类型转换,所以就要变成小数形式7.0(float默认是保留小数点后6位),7 / 2 = 3.5 。而后面的x的强制类型转换成整型7,y强制类型转换成整型2,所以结果为1。(7÷2=3...1)所以此题答案为:3.5+1=4.5
第2个回答  2020-03-19

#include <iostream>
#include <iomanip>
using namespace std;
int main(){
float a,b,x,y;
cout << "请输入四个数:";
cin >> a >> b >> x >> y ;
cout.setf(ios::fixed);
cout << fixed << setprecision(6) << (float)(a+b)/2+(int)x%(int)y << endl;
system("pause");
return 0;
}

第3个回答  2020-03-19
#include<algorithm>
#include<iostream>
#include<iomanip>
#include<cstdio>
int main()
{
std::ios::sync_with_stdio(false);std::cin.tie(0);
float x,y;
int a,b;
cin>>a>>b>>x>>y;
cout<<fixed<<setprecision(6)<<(float)(a+b)/2+(int)x%(int)y<<endl;
return 0;
}
是c的话改下输入输出就好了追问

请问输入输出要改哪里啊😱

你好,

追答

scanf(%d %d %d %d ,&a,&b,&x,&y);
printf(%.6f,((float)(a+b)/2+(int)x%(int)y)\n);换掉return 0前面两行。。

第4个回答  2020-03-19
你没定义变量值啊
如果这样那就是(a+b)除以2加上x除以y的余数追问

可以具体给个程序么?最近没学明白

追答

#include
#include

int main()
{
float a,b;int x,y;
printf("请输入a,b,x,y的值");//说明
printf("a=");scanf(" %f",&a);
printf("b=");scanf(" %f",&b);
printf("x=");scanf(" %d",&x);
printf("y=");scanf(" %d",&y);
printf("\na=%f,b=%f,x=%d,y=%d",a,b,x,y);//输出用户刚才输入的值
printf("\n输出:%f",(a+b)/2+(x%y));//输出结果
return 0;
}

#include

int main()
{
float a,b;int x,y;
printf("请输入a,b,x,y的值");//说明
printf("a=");scanf(" %f",&a);
printf("b=");scanf(" %f",&b);
printf("x=");scanf(" %d",&x);
printf("y=");scanf(" %d",&y);
printf("\na=%f,b=%f,x=%d,y=%d",a,b,x,y);//输出用户刚才输入的值
printf("\n输出:%f",(a+b)/2+(x%y));//输出结果
return 0;
}

#include

int main()
{
float a,b;int x,y;
printf("请输入a,b,x,y的值");//说明
printf("a=");scanf(" %f",&a);
printf("b=");scanf(" %f",&b);
printf("x=");scanf(" %d",&x);
printf("y=");scanf(" %d",&y);
printf("\na=%f,b=%f,x=%d,y=%d",a,b,x,y);//输出用户刚才输入的值
printf("\n输出:%f",(a+b)/2+(x%y));//输出结果
return 0;
}

追问

谢谢,已经弄好了

相似回答