C语言:基础题目(六)

用函数写

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

 #include <stdio.h>
 #include <stdlib.h>
    
    typedef struct _complex
    {
	int  Re;
	int  Im;
}complex;

complex create(int a,int b)
{
	 complex x;
	 x.Re =a;
	 x.Im =b;
	 
	 return (x); 
}

complex add(complex x1,complex x2)
{
	 complex sum;
	 sum.Re =x1.Re +x2.Re;
	 sum.Im =x1.Im +x2.Im;
	 
	 return (sum); 
}

void print_complex(complex com)
{
	printf("%d + %di\n",com.Re,com.Im);
}

int main()
{
	int a;
	int b;
	complex x1,x2,x3;
	printf("请输入第一个数字:\n");
	scanf("%d %d",&a,&b);
	x1=create(a,b);
	print_complex(create(a,b));
	
	printf("请输入第二个数字:\n");
	scanf("%d %d",&a,&b);
	x2=create(a,b);
	print_complex(create(a,b));
	
	x3=add(x1,x2);
	print_complex(add(x1,x2));
	
	return 0;
}

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

#include <stdio.h>

void unique(int a[],int *len)
{
	if(a== NULL || len == NULL)
	{
		return ;
	}
	
	int *pa = a;
	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,1,1,1,2,2,2,3,3,4,4,5,6,7,7,8,8};
	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 countWord(char *str)
{
	if(str == NULL)
	{
		return -1;
	}
	
	int count = 0;
	char *pa  = str;
	
	while(*pa++ != '\0')
	{
		if(*pa == ' ')
		{
			count++;
		}
	}
	
	count++;
	
	return count;
}


int main()
{
	char str[] = "what is you name";
	int count = countWord(str);
	
	printf("The amount of word is :%d\n",count);
	
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值