在codeblocks上,同一个程序在我的电脑上运行时,按任意键,运行直接结束,然后退出了,在我朋友的电脑上就可以进入系统,环境设置没有问题,可以编译,只是运行有问题。
#include<stdio.h>
#include<string.h>
#include<stdio.h>
typedef struct{
float real;
float imag;
}complex;
void show(complex x){
if(x.real!=0){
if(x.imag>0){
printf("%.2f+i%.2f\n",x.real,x.imag);
}
else
if(x.imag==0)
printf("%.2f\n",x.real);
else{
x.imag=-x.imag;
printf("%.2f-i.2%\n",x.real,x.imag);
}
}
else{
if(x.imag>0)
printf("i%.2f\n",x.imag);
else{
x.imag=-x.imag;
printf("-i%.2f\n",x.imag);
}
}
}
void add(complex x,complex y){
complex sub;
sub.real=x.real+y.real;
sub.imag=x.imag+y.imag;
show(sub);
}
void minus(complex x,complex y){
complex sub;
sub.real=x.real-y.real;
sub.imag=x.imag-y.imag;
show(sub);
}
void mulit(complex x,complex y){
complex sub;
sub.real=x.real*y.real-x.imag*y.imag;
sub.imag=x.real*y.imag+x.imag*y.real;
show(sub);
}
float separate_real(complex x){
return x.real;
}
float separate_imag(complex x){
return x.imag;
}
int main(){
int i;
complex a,b;
printf("需要输入的复数个数(1或2)");
scanf("%d",&i);
if(i==1){
printf("分别输入实部虚部;");
scanf("%f%f",&a.real,&a.imag);
printf("\n显示:a=");
show(a);
}
else{
printf("分别输入两个复数的实部虚部;");
scanf("%f%f%f%f",&a.real,&a.imag,&b.real,&b.imag);
printf("\n显示:a=");
show(a);
printf("b=");
show(b);
printf("\n和:a+b=");
add(a,b);
printf("\n差:a-b=");
minus(a,b);
printf("\n积:a*b=");
mulit(a,