【C】用函数的方式去实现一些简单的问题

  1. 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
    输入9,输出99口诀表,输入12,输出1212的乘法口诀表。
void multiplication(int n)//传过来的参数未乘法口诀表的规格
{
	int i=0,j = 0;
	for (i=1; i <= n; ++i)
	{
		for (j=1; j <= i; j++)
		{
			printf("%d*%d=%2d\t", i,j,i*j);
		if (i == j)
		{
			printf("\n");
		}
		}
	}

}

2.使用函数实现两个数的交换。

void swap(int* x, int*y)//形式参数用来存放实参传过来的地址
{
	int temp = 0;//通过地址找到要交换的值,实现交换
	temp = *x;
	 *x  = *y;
	 *y = temp;
}

3.实现一个函数判断year是不是润年。

int IsLeaoyear(int year)
{
	if (year % 100 == 0)//判断是否是世纪闰年
	{
		if (year % 400==0)
			return 1;//如果是返回1
		else
		{
			return 0;//不是返回0
		}
	}
	if (year % 4 == 0)//判断是否是普通闰年
	{
		return 1;//是返回1
	}
	else
	{
		return 0;//不是返回0
	}
}

4.创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。

void init(int arr[],int size)//将数组初始化为全为1
{
	int left = 0,right=size-1;
	for (left = 0; left <= right; left++)
	{
		arr[left] = 1;
	}
}
void empty(int arr[], int size)//清空数组
{
	int left = 0, right = size - 1;
	for (left = 0; left <= right; left++)
	{
		arr[left] = '\0';
	}
}
void reverse(int arr[], int size)//逆序数组
{
	int left = 0,temp=0, right = size - 1;
	for (left = 0; left <= right; left++)
	{
		swap(&arr[left], &arr[right]);
			right--;
	}
}
void print(int arr[], int size)//打印数组
{
	int left = 0, temp = 0, right = size - 1;
	for (left = 0; left <= right; left++)
    {
		printf("%d  ", arr[left]);
	}
}

void main()
{
	int arr[] = { 0,1,2,3,4,5,6,7,8,9 };
	int size = sizeof(arr) / sizeof(arr[0]);//求出数组中的元素个数
	int menu = 0;
	printf("请输入你要进行的操作:\n");
	printf("1.初始化数组:\n");
	printf("2.清空数组:\n");
	printf("3.将数组逆序:\n");
	scanf("%d", &menu);
	switch (menu)
	{
	case 1: init(arr, size);
		print(arr, size);
		break;
	case 2: empty(arr, size); 
		print(arr, size);
		break;
	case 3: reverse(arr, size); 
		print(arr, size); 
		break;
	default:   break;
	}
	system("pause");
}

5实现一个函数,判断一个数是不是素数。

int Isprime(int i)
{
	int j = 0;
	if (i <= 1)
	{
		return 0;
	}
	else
	{
		for (j=2; j < i; j++)
		{
			if (i%j == 0)
			{
				break;
			}
		}
	}
	if (j >= i)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}

void main()
{
	int num = 0, ret=0;
	printf("请输入你要判断的数字:");
	scanf("%d", &num);
	ret = Isprime(num);
	if (ret == 0)
	{
		printf("不是素数\n");
	}
	if (ret == 1)
	{
		printf("是素数\n");
	}	
	system("pause");
}

猜你喜欢

转载自blog.csdn.net/qq_38606740/article/details/88775714
今日推荐