C语言中如何将复数存进数组?

作者&投稿:酉武 (若有异议请与网页底部的电邮联系)
c语言中如何将一句话存入数组~

若是从控制台输入,使用gets函数即可。把一句话话存入字符数组当中。使用形式:char *gets( char *str );
gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。gets()函数读取到
(我们输入的回车)于是停止读取,但是它不会把
包含到字符串里面去。所以gets()函数可以读取整句话,包含每一个标点符号,每个空格,直到换行符。
若是从文件输入,使用fgets函数。fgets函数和gets函数类似。
使用形式:char *fgets( char *str, int count, FILE *stream );

include
void main()
{
int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
sacnf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("a[%d][%d]=%d ",i,j,a[i][j]);
}

扩展资料:
数组的使用规则:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
百度百科-数组

C99 里有复数:
#include <stdio.h>
#include <complex.h>
int main()
{
double complex z1 = 1.0 + 3.0 * I;
double complex z2 = 1.0 - 4.0 * I;
double complex f[20];
printf("Starting values: Z1 = %.2f + %.2fi\tZ2 = %.2f %+.2fi\n",
creal(z1), cimag(z1), creal(z2), cimag(z2));
..
}
===================
老的c 自己定义:

#include <stdio.h>
typedef struct {double r; double i; } complex;

main(){
complex c[2]={ {1.,3.},{1.,-4.0}}; // 初始化有2个复数元素的数组
complex r;
r.r = c[0].r + c[1].r;
r.i = c[0].i + c[1].i;
printf("real: %f img: %f\n",r.r,r.i);
}

#define array

#ifdef array

/*
方法一
*/

typedef double complex[2] ,(*pcomplex)[2] ;

#define real(c) ((c)[0])
#define imaginary(c) ((c)[1])

#else

/*
方法二
*/

typedef struct tagcomplex
{
double real ;
double imaginary ;
}
complex ,*pcomplex ;

#define real(c) ((c).real)
#define imaginary(c) ((c).imaginary)

#endif

int main ()
{
pcomplex p = (pcomplex) malloc (3 * sizeof (complex)) ;

real (p[1]) = 4.55 ;
imaginary (p[1]) = 442.6 ;

printf ("real : %lf while imaginary : %lf\n" ,real (p[1]) ,imaginary (p[1])) ;

return 0 ;
}

可以尝试把复数里x、y的值作为二维数组的索引,复数的模就存到数组[x][y]的值,然后再按照复数的加减乘除运算的规则重载这个数组的加减乘除运算函数

其实建议定义复数类,可以方便操作符重载和求模等等。

如果注重速度,二维数组也能实现

const int i_max = 100; 
double value[i_max][2];
//value[i][0]和value[i][1]分别是第i个复数的实部和虚部


真的可以???定义的类型都是一样的,至少我觉得c有困难(也许能实现),但是如果你学了c++或者java,根本不需要这么做,楼上已经说了,就是生成对象,一个参数表示实部,一个参数表示虚部,然后构造函数,函数实部加实部,虚部加虚部,然后格式输出即可!!!


C语言中如何将复数存进数组?
C99 里有复数:include <stdio.h> include <complex.h> int main(){ double complex z1 = 1.0 + 3.0 * I;double complex z2 = 1.0 - 4.0 * I;double complex f[20];printf("Starting values: Z1 = %.2f + %.2fi\\tZ2 = %.2f %+.2fi\\n",creal(z1), cimag(z1), cr...

名词复数有哪些
1. 规则变化:大部分名词的复数形式是通过在单数名词后添加“-s”或“-es”来构成。例如,“book”(书)的复数形式是“books”,“girl”(女孩)的复数形式是“girls”。还有一些名词在构成复数时会改变元音字母的发音,如“to...

复数句是什么意思
1. 复数句的基本定义:复数句是语言中常见的一种句式,其特点在于句子的主语或宾语采用了复数形式。在大多数语言中,名词有单数和复数两种形式,当需要表达多于一个的实体或概念时,就会使用复数形式。因此,包含复数形式的名词的句子就被称为复数句。2. 复数句与单数句的区别:与单数句相比,复数句能够...

怎样用C语言输入或者输出一个复数?详细讲解一下哟.
C语言本身没有复数这个数据类型,但是你可以自己定义:typedef struct { double real; \/* 实部 *\/ double imag; \/* 虚部 *\/ }ComplexNumber;然后你可以使用ComplexNumber来定义变量,然后用scanf("%f,%f", &cn.real, &cn.imag);这样的语句来输入复数,还可以进行其它任意操作。

英美人是如何记住动词、名词变单复数后的发音的?
此外,实验还深入探究了过去时态、现在分词变化、词缀运用以及复合词构造等各个方面,受试者的答案往往符合预期,进一步证实了语言学习中规则性与记忆之间的密切关联。相比之下,德语的名词复数形式变化复杂,对母语为德语的孩子来说,如何在面对“wug”这样的生造词时推导出复数形式,确实是一个值得探讨的...

python里面什么复数类型?
Python 语言中有关复数的概念:1、虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起构成一个复数 2、复数由实数部分和虚数部分构成 3、表示虚数的语法:real+imagej 4、实数部分和虚数部分都是浮点数 5、虚数部分必须有后缀j或J 复数的内建属性:复数对象拥有数据属性,分别为该复数的...

复数句是什么意思?
复数句对英语学习者来说可能有些难度,因为他们需要理解复数动词的用法以及如何正确使用主谓一致。复数句在英语语言中非常常见,因为英语通常用复数来表示集合。例如:“Dogs and cats are popular pets in the United States.”这句话指的是整个狗与猫子囊,而非狗或猫单独存在。学习者需要理解复数句的...

litter在不同语言中表示复数的概念是什么?
在语言的精密构建中,复数形式扮演着至关重要的角色,它像一把钥匙,打开了表达数量的神秘大门。每个词素,如我们所探讨的"pattern",其复数形式并非一成不变,而是根据语言的规则和习惯进行调整。在某些语言的体系中,复数是为数词提供伙伴,标记一个以上的个体,比如当我们提及"litter"时,它的复数形式...

复数的历史
复数的历史可以追溯到不同的语言和文化,它在语言演化中经历了多次变迁和演化。下面将对复数的历史进行详细探讨。1.古代语言的复数形式:在古代语言中,复数的概念起源于人们需要区分单个事物和多个事物的需求。不同语言采用不同的方式来表示复数,如古希腊语和拉丁语使用不同的后缀和词形变化,而古埃及语...

Python复数类型(complex)详解
Python的内置类型之一是复数,使用起来非常简单。无需额外安装库,Python语言直接支持复数。复数由实部和虚部组成,格式为a+bj,其中a是实部,b是虚部,j或J表示虚数单位。【实例】以下是如何在Python中使用复数:c1 = 12 + 0.2j print("c1Value:", c1)print("c1Type:", type(c1))c2 = 6 - ...

阳西县17074521040: C语言怎样输入两行数,存入两个数组中? -
杭菡邦来: 实现方法:1. 自定义按行读入数组的函数 int reada( int *a, int max)1. 先读一个数到数组2. 再读一个字符,3. 判断是否回车符,是则结束读入,否则,下一步4. 判断读到的个数是否达到max,达到则结束读入,否则循环到a5. 循环结束后,清除缓...

阳西县17074521040: c语言,如何将键盘输入的n个整数存入一个数组中,n的大小未知? -
杭菡邦来: 这样来实现 #include<stdio.h> void main(){int a[50];int i=0,j=0;printf("请输入数据,中间用空格间隔,用回车结束输入:\n");do{scanf("%d",&a[i++]);}while(getchar()!='\n');for(j=0;j<i;){printf("%3d",a[j]);j++;if(j%5==0)printf("\n");}printf("\n");}

阳西县17074521040: C语言中如何将一串数字导入一个字符型数组中 例如: int n=123456; char str[99]; 如何将n里面的数导入数组里面?
杭菡邦来: 在n不大的情况下,可以直接使用itoa函数,使用前#include<stdlib.h> #include<stdio.h> #include <stdlib.h> void main() { int n=123456; char str[99]; itoa(n,str,10); printf("%s\n",str); }

阳西县17074521040: C语言中,如何将输入的若干个数字保存到数组中,不要用字符串写. -
杭菡邦来: while(scanf("%d",&temp)==1)a[++i]=temp; scanf返回成功输入的变量个数 Ctrl+Z结束输入

阳西县17074521040: c语言中如何实现输入一个整数,并将它存入一个数组 -
杭菡邦来: 类似这样 int i[5],j;for(j=0;j<5;j++) { scanf("%d", i+j); }

阳西县17074521040: c语言将字符串中的数字存到为数组d中 -
杭菡邦来: #include<stdio.h>#include<string.h> int main() { char a[80],*p=a; int b[80]={0},i=0,j=0,x=0; printf("请输入一串字符\n"); gets(a); for(p=a;(*p)!='\0';p++) { if(((*p)>='0')&&((*p)<='9')) { if(x==0) { b[i]=(*p)-48; i++; } else b[i-1]=b[i-1]*10+(*p)-48; x=1; } ...

阳西县17074521040: C语言里,怎样连续的输入一整串个位数,存到数组里,比如:123456789.将其存入a[],而不用循环. -
杭菡邦来: while(ch=getchar()!='\n') a[i++]=ch;不用循环?那你输入的是一串连续字符,不是单个数字,就算是数组存储,也不可能分开,必须熟用循环处理才行.(除非有什么宏定义……恕在下才疏学浅(就算宏定义也要借助循环,而且导致程序花费更多时间和内存!得不偿失.))

阳西县17074521040: C语言中如何将未知个数的数存放在一个数组中? -
杭菡邦来: 在C语言中数组的定义必须指明维数,即使没有指明维数,也必须进行初始化,编译器通过初始化列表中的元素个数来确定数组的维数,比如下面的代码:int a[] = {1,2,3}; 虽然没有指明数组的维数,但是编译知道数组a的维数是3(只有三个元...

阳西县17074521040: C语言中,如何把一些变量存进一维数组里?求解~ -
杭菡邦来: 用for循环保存 你可以把数组理解为一组同类型的变量

阳西县17074521040: 要编程 C语言的 把数组中所有奇数存入另一个数组返回,在主函数中输出这两个数组. -
杭菡邦来: 这个代码比较简单,我只提供下思路.如果lz再写不出来,我在给你提供代码吧!1、判断一个数是不是奇数偶数,那么可以对这个数求模,余数是0 还是1 来判断.2、之后把数分别存放在奇数数组和偶数数组里3、便利循环输出数组里的内容 注释:------------------ 求模方法 int a = 13; 求模 === a%2

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网