算法提高 复数求和

本文介绍了一个使用C语言实现的程序,该程序能够通过键盘输入一系列整数形式的复数,并利用链表来存储这些复数。接着,程序会遍历链表计算所有复数的和,并将结果以复数形式输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*

从键盘读入n个复数(实部和虚部都为整数)用链表存储,遍历链表求出n个复数的和并输出。
样例输入:
3
3 4
5 2
1 3
样例输出:
9+9i

样例输入:
7
1 2
3 4
2 5
1 8
6 4
7 9
3 7
样例输出:
23+39i
*/

#include<stdio.h>
#include<stdlib.h> 
typedef
struct FS
{
	int sb ;
	int xb ;
	struct FS* next; 	
}FS;
void shuru( FS * , int );
int js_sb( FS * , int );
int js_xb( FS *, int );

int main( void )
{
	int n ; 
	scanf("%d" ,& n ) ; 
	FS head = { 0 , 0 , NULL };
	shuru( &head , n ); 
	printf("%d+%di\n" , js_sb( head.next , n ) , js_xb( head.next , n ) );
	return 0 ; 
}
int js_xb( FS *head , int n)
{
	int sum  = 0 ;
	while( head != NULL)
	{
		sum += head->xb ; 
		head = head->next ; 
	} 
	return sum ; 
}

int js_sb( FS *head , int n)
{
	int sum  = 0 ;
	while( head != NULL )
	{
		sum += head->sb ; 
		head = head->next ; 
	} 
	return sum ; 
}

void shuru( FS * head , int n)
{
	while( n -- )
	{
		int s1 , s2 ; 
		scanf("%d%d", &s1 , &s2 );
		FS * p = (FS*)malloc(sizeof( FS ));
		p->sb = s1 ;
		p->xb = s2 ; 
		p->next = head->next ;
		head->next = p ;
		head = p ;        
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值