练习题

1.编程求两个复数的和
结构体
函数
返回值是结构体
参数 两个结构体

#include <stdio.h>
typedef struct _complex
{	//以结构体的形式定义一个复数
	int re;
	int im;
}Complex;

/*
	函数名:add_complex(Complex *com1, Complex *com2)
	参数列表:结构体指针com1,com2
	函数功能:两个复数以结构体的形式相加
	返回值:返回一个结构体
*/
Complex add_complex(Complex *com1, Complex *com2)
{
	if(com1 == NULL || com2 == NULL)
	{
		return;
	}
	
	Complex sumcom = {0};
	
	sumcom.re = com1->re + com2->re;
	sumcom.im = com1->im + com2->im;
	
	return sumcom;
} 

void print_complex(Complex com)
{	//以复数形式打印结构体
	printf("complex = %d + %di\n",com.re, com.im);
}

int main()
{
	Complex com1 = {1,2};
	Complex com2 = {3,4};
	
	print_complex(com1);
	print_complex(com2);
	print_complex(add_complex(&com1,&com2));	//打印com1,com2相加值
	
	return 0;
}

2.已知一维整型数组a中的数已按由小到大的顺序排列,
编写程序,删去一维数组中所有相同的数,使之只剩一个。

#include <stdio.h>

void unique(int array[],int *len)
{
	if(array == NULL || len == NULL)
	{
		return ;
	}
	
	int *pa = array;
	int i,j;
	
	for(i = 0; i < *len - 1; i++)
	{
		if(pa[i] == pa[i+1])
		{
			for(j = i; j < *len-1; j++)
			{
				pa[j] = pa[j+1];
			}
			
			(*len)--;

			i--;
		}
	}	
}

int main()
{
	int a[]={1,2,2,3,4,5,5,6,7,8,8,8,9,9};
	int len = sizeof(a)/sizeof(int);
	int i;
	
	printf("len = %d\n",len);
	
	for(i = 0; i < len; i++)
	{
		printf("%d ",a[i]);
	}
	
	printf("\n");
	
	unique(a,&len);
	
	printf("len = %d\n",len);
	
	for(i = 0; i < len; i++)
	{
		printf("%d ",a[i]);
	}
	
	printf("\n");
	
	return 0;
}

3.统计一个英文句子中含有英文单词的个数,单词之间用空格隔开。

#include <stdio.h>

int count_word(char *str)
{
	if(str == NULL)
	{
		return -1;
	}
	
	int count = 0;
	char *p = str;
	
	while(*p++ != '\0')
	{
		if(*p == ' ' || *p ==',')
		{
			count++;
		}
	}
	
	count++;
	
	return count;
}


int main()
{
	char str[] = "You are from Shanghai";
	int count = count_word(str);
	
	printf("The count of word is %d\n",count);
	
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值