c语言一道小题

来源:百度知道 编辑:UC知道 时间:2024/07/07 06:05:24
#include"stdio.h"
main()
{float a1,b1,a2,b2;
float a,b;
char i;
printf("请输入第一个复数:");
scanf("%f+%f*i",&a1+b1*i);
printf("请输入第二个复数:");
scanf("%f+%f*i",&a2+b2i);
a+b*i==a1+b1*i-a2-b2*i;
printf("差=%f+%f*i\n",a+b*i);
}
我弄出来的结果乱七八糟的
请大家帮我看看究竟是哪的毛病
输入的时候不可以是一个复数吗
例如这样
请输入第一个复数:3+4i
请输入第二个复数:2+3i

你在使用输入函数scanf()时,参数的对应方式不对啊!
可以改成这样:
#include"stdio.h"
main()
{float a1,b1,a2,b2;
float a,b;
char i;
printf("请输入第一个复数:");
scanf("%f,%f",&a1,&b1);
printf("请输入第二个复数:");
scanf("%f,%f",&a2,&b2);
a=a1-a2;
b=b1-b2;
printf("差=%f+%f*i\n",a,b);
}

(注意:输入时一定要按照这样的格式输入,例如输入"2.5,3.5"表示复数的实部是2.5,虚部是3.5,中间的逗号不能省略)

scanf("%f+%f*i",&a1+b1*i);
scanf("%f+%f*i",&a2+b2i); 这两句 不能这么写的
printf("差=%f+%f*i\n",a+b*i);
这句也是
a+b*i==a1+b1*i-a2-b2*i; 表达式 不对

scanf中,不允许有运算式,你那个%f+%f*i 是表示输入数字以+隔开,不是你想的那个加法运算,比如scanf("%d+%d",&a,&b);
键盘输入的格式为:2+3enter 明白了没?还有a+b*i==a1+b1*i-a2-b2*i; 表达式 不对==是赋值,不是运算符,应该用=。其他的没什么错了,
口水说干了,给分哦 ~!~

有没搞错一道程序写成那样

不是wanghafu说的那些而已吧?~!!!

char i;
printf("请输入第一个复数:");
scanf("%f+%f*i",