C语言分离任何复数的实部与虚部
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/11 01:00:17
C语言分离任何复数的实部与虚部
下面是以23+456i为例写的,但一执行就死掉(假定都是a+bi的形式,排除了bi+a的形式)
#include
void main()
{
printf("分离复数23+456i的实部与虚部");
char str[100]={"23+456i"};
char str1[50];//存实部
char str2[50];//存虚部
char g,h;
for(int i=0;(g=str[i])!='\0';i++)
{
if(str[i+1]=='+')
{
for(int j=0;(h=str[i+1])!='i';j++)
str2[j]=str[i+1];
}
else
str1[i]=str[i];
}
printf("实部为:%s\n",str1);
printf("虚部为:%s\n",str2);
}
分离的时候以“+”号为分割点.分离虚部的时候以“i”前一个数字结束.
下面是以23+456i为例写的,但一执行就死掉(假定都是a+bi的形式,排除了bi+a的形式)
#include
void main()
{
printf("分离复数23+456i的实部与虚部");
char str[100]={"23+456i"};
char str1[50];//存实部
char str2[50];//存虚部
char g,h;
for(int i=0;(g=str[i])!='\0';i++)
{
if(str[i+1]=='+')
{
for(int j=0;(h=str[i+1])!='i';j++)
str2[j]=str[i+1];
}
else
str1[i]=str[i];
}
printf("实部为:%s\n",str1);
printf("虚部为:%s\n",str2);
}
分离的时候以“+”号为分割点.分离虚部的时候以“i”前一个数字结束.
#include <stdio.h>
void main()
{
\x09
\x09char str[100]={"23+456i"};
\x09char str1[50];//存实部
\x09char str2[50];//存虚部
\x09
\x09printf("分离复数%s的实部与虚部\n", str );
\x09
\x09for(int i=0;str[i]!='\0';i++)
\x09{
\x09\x09if(str[i]=='+')
\x09\x09{
\x09\x09\x09str1[i]='\0' ;
\x09\x09\x09i++;
\x09\x09\x09for(int j=0;str[i]!='i';j++)
\x09\x09\x09\x09str2[j]=str[i++];
\x09\x09\x09str2[j]='\0';
\x09\x09\x09break ; //取完了就结束循环
\x09\x09}
\x09\x09else
\x09\x09\x09str1[i]=str[i];
\x09}
\x09
\x09printf("实部为:%s\n",str1);
\x09printf("虚部为:%s\n",str2);
}
再问: str1[i]='\0' ;
str2[j]='\0';
为什么要加这两句啊?
再答: 字符串要有结束符,没有结束符的话输出显示会出现异常数据
再问: 谢谢,大神!
再答: 不客气,多上机练习
void main()
{
\x09
\x09char str[100]={"23+456i"};
\x09char str1[50];//存实部
\x09char str2[50];//存虚部
\x09
\x09printf("分离复数%s的实部与虚部\n", str );
\x09
\x09for(int i=0;str[i]!='\0';i++)
\x09{
\x09\x09if(str[i]=='+')
\x09\x09{
\x09\x09\x09str1[i]='\0' ;
\x09\x09\x09i++;
\x09\x09\x09for(int j=0;str[i]!='i';j++)
\x09\x09\x09\x09str2[j]=str[i++];
\x09\x09\x09str2[j]='\0';
\x09\x09\x09break ; //取完了就结束循环
\x09\x09}
\x09\x09else
\x09\x09\x09str1[i]=str[i];
\x09}
\x09
\x09printf("实部为:%s\n",str1);
\x09printf("虚部为:%s\n",str2);
}
再问: str1[i]='\0' ;
str2[j]='\0';
为什么要加这两句啊?
再答: 字符串要有结束符,没有结束符的话输出显示会出现异常数据
再问: 谢谢,大神!
再答: 不客气,多上机练习
c语言:输入俩个复数的实部与虚部,计算俩个复数之积,声明怎么声明?
c语言中求复数的和与积
C语言 定义一个复数结构,求两个复数的和与积
C语言在复数内部用浮点数定义其实部和虚部 设计实现复数的+-*/运算的四个函数
C语言 定义一个能够表示复数的结构类型,一个复数包括实数与虚数两个部分
定义这个复数类,复数的实部与虚部定义为私有数据成员.用复数类定义两个复数对象,
C语言中怎么进行复数的定义及运算
C语言中复数的运算怎么实现?
一个复数z的实部与虚部的和是5,实部与虚部的差是负3,求复数z
一个复数z的实部与虚部的和是0,实部与虚部的差是2,求次复数z
一个复数分离实部虚部的问题
c语言怎么分离出浮点型数据的小数部分