c语言作业输入一个实数 x ,计算 y=x2 ,输出 x,y。求问为什么错了,十分感谢!

#include<stdio.h>
void main()
{
int x,y;
printf("输入一个x值:\n");
scanf("x=%d",&x);
y=x^2;
printf("x=%d,y=%d\n",x,y);
}

因为C语言中x的二次方用x*x表示或者用函数pow(x,2)表示

(需要包含头文件#include<math.h>)

所以y=x^2在C语言中不是表示x的二次方,而是x按位异或2,因此结果不对.

另外,题目要求输入一个实数,所以x,y要被定义为double型,

输入输出格式符%d要改成%lf

改正后的程序如下(见图,改动的地方见注释)

#include<stdio.h>

void main()

{

 double x,y;//这里把int改成double

 printf("输入一个x值:\n");

 scanf("%lf",&x);//这里把%d改成%lf,去掉"x="

 y=x*x;//这里把y=x^2;改成y=x*x;

 printf("x=%lf,y=%lf\n",x,y);//这里把%d改成%lf

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2022-10-16

错误:

    scanf函数格式错误,因为scanf函数是不能显示提示字符串"x="。scanf函数这点和printf函数不同

    平方数算法错误,正确语法应该是y=x*x




程序修改前:

错在用网上的解数学方法编程



程序修改后:

正确的符合c语言的算法




另外题目要求是实数,实数有两种类型,分别是 float 或 double,所以数据类型int也要改,已经有答案,此处略。

c语言作业输入一个实数 x ,计算 y=x2 ,输出 x,y。求问为什么错了,十分...
所以y=x^2在C语言中不是表示x的二次方,而是x按位异或2,因此结果不对.另外,题目要求输入一个实数,所以x,y要被定义为double型,输入输出格式符%d要改成%lf 改正后的程序如下(见图,改动的地方见注释)include<stdio.h> void main(){ double x,y;\/\/这里把int改成double printf("输入一个x值:\\...

c语言小程序例题, 大师看看。怎么办?
1.1 显示短句:在显示器上显示短句“Programming is fun!”1.2 求和与差:输入两个数字,计算并输出它们的和与差。1.3 求平方根:输入一个实数x,计算并输出其平方根(保留一位小数)。1.4 华氏转摄氏:输入华氏温度,计算并输出对应的摄氏温度(保留两位小数)。1.5 大写转小写:输入一个大写...

C语言程序编写“输入两个整数,分别求他们的和、差、积、商、余数,并...
前面声明变量的时候类型是浮点型,所以格式符应该使用%f而不是%d,%d是整型。改为:include "stdio.h"void main(){ float x,y,a,b,c,d;scanf("%f%f,&x,&y);printf("%f%f%f",x+y,x-y,x*y,x\/y,x%d);}

C语言问题 输入包含四个实数x1, y1, x2, y2,分别用空格隔开,含义如描 ...
那个范围只是说题目给你的x1,x2,y1,y2的数据范围是这样,只是对题目自身数据的约束,你不需要去判断是不是这四个数真的满足这个范围。

用C++输入一个非负实数x,计算其平方根
include<iostream> include<iomanip> include<cmath> using namespace std;int main(){ double n;cin>>n;cout<<fixed;cout<<setprecision(2)<<(double)sqrt(n);return 0;}

设计一个算法,任意输入一个X,计算Y等于X的绝对值,并输出Y的值,写出算 ...
求实数x的绝对值有如下一个算法:第一步,输入一个实数x.第二步,判断x的符号.若x<0,则y=-x;否则,y=x.第三步,输出x.对应的程序框图如下:

编程输入实数x,计算下面函数的值,并输出y值。
return(x * x);} else if (x > 10){ cout << "y = x \/ 5" << endl;return(x \/ 5);} else if ((1 <= x) && (x <= 10)){ cout << "y = 3 * x - 1" << endl;return(3 * x - 1);} cout << "输入的x有误!" << endl;} int main(int argc, char* ...

输入实数x,按下列公式计算并输出x和y的值
include<iostream.h> include<math.h> void main(){ float x,y;cin>>x;if(x<=0)y=pow(x,2)+5;else y=1\/(3*x+1);cout<<"x = "<<x<<", y = "<<y<<endl;} 或 include<stdio.h> void main(){ float x,y;scanf("%f",&x);if(x<=0)y=x*x+5;else y=1\/(3*x...

编一个程序,输入实数x的值,按下列公式计算并输出y值
{ int x, y;printf( "Please enter the number: " );scanf( "%d", &x );if( x <= 1 )y = x;else if( x < 10 )\/\/前面说了x<=1的,所以这里可以省略1<x,下同 y = 2 * x - 1;else y = 3 * x - 11;printf( "y = %d\\n", y );system( "pause" );return 0...

用C#编写: 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
{ static void Main(string[] args) { string ins = ""; string[] sparr; double[] parr = new double[4]; do { Console.Write("输入一组(2个点坐标数据,输入end退出):"); ins = Console.ReadLine(); sparr = ins.Trim().Replace(" "," ").S...

相似回答