![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
2个回答
展开全部
你必须有一个输入格式约定,无论简单或复杂。
例如:必须有实部和虚部,格式 为 3-2i 1-i 1+i 等。
然后才好处理。
这里放入char str[80];了,如果是键盘输入流,也用类似格式。
#include <stdio.h>
main(){
char str[80]="1-i"; // 1+i 2-2i 2+3i 0-i
int r,m;
int i,flag, s;
flag = sscanf(str,"%d%di",&r,&m);
if (flag==1) {
s = 1;
for (i=0;i<strlen(str);i++) if (str[i]=='-') s= -1; else if (str[i]=='+') s=1;
m = s;
}
printf("real=%d imag=%d\n",r,m);
return 0;
}
例如:必须有实部和虚部,格式 为 3-2i 1-i 1+i 等。
然后才好处理。
这里放入char str[80];了,如果是键盘输入流,也用类似格式。
#include <stdio.h>
main(){
char str[80]="1-i"; // 1+i 2-2i 2+3i 0-i
int r,m;
int i,flag, s;
flag = sscanf(str,"%d%di",&r,&m);
if (flag==1) {
s = 1;
for (i=0;i<strlen(str);i++) if (str[i]=='-') s= -1; else if (str[i]=='+') s=1;
m = s;
}
printf("real=%d imag=%d\n",r,m);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询