1. 程式人生 > >practise函式實現——乘法口訣表,判斷素數,交換兩數,判斷閏年,陣列的初始清空逆置

practise函式實現——乘法口訣表,判斷素數,交換兩數,判斷閏年,陣列的初始清空逆置

1 .實現一個函式,列印乘法口訣表,口訣表的行數和列數自己指定,

    輸入9,輸出9*9口訣表,輸出12,輸出12*12的乘法口訣表。 

#include<stdio.h>
#include<windows.h>

 void mutiplycation_form(int num)
{
	int i = 0;
	int j = 0;
	for (i = 1; i <= num; i++)//確定行數
	{
		for (j = 1; j <= i; j++)//確定列數
		{
			printf("%d*%d=%d  ", j, i, j*i);
		}
		    printf("\n");
		
	}
}


int main()
{
	int num = 0;
	scanf_s("%d", &num);
	mutiplycation_form(num);

	system("pause");
	return 0;
}
2.使用函式實現兩個數的交換。  
#include<stdio.h>
#include<windows.h>

void swap(int *x, int *y)
{
	int temp = *x;
	*x = *y;
	*y = temp;
}
int main()
{

	int a = 10;
	int b = 20;
	swap(&a, &b);//地址傳遞
	printf("%d  %d", a, b);
	system("pause");
	return 0;
}
3.實現一個函式判斷year是不是閏年。
#include<stdio.h>
#include<windows.h>

int is_leap(int n)//是閏年返回1,不是返回0
{   
	
		if (n % 400 == 0 || (n % 4 == 0 && n % 100 != 0))
			return 1;
		else
        	return 0;
}
int main()
{
	int year=0;
	scanf_s("%d", &year);
	if(is_leap(year))
	{
		printf("%d is leap year\n",year);
	}
	else 
		printf("%d is not leap year\n", year);
	system("pause");
	return 0;
}
4.實現一個函式,判斷一個數是不是素數。
 
 
 
 

 
 
#include<stdio.h>
#include<windows.h>

int is_prime(int n)
{
	int i = 0;
	for (i = 2; i < n; i++)
	{
		if (n%i == 0)
	    return 0;
	}
	return 1;
}
int main()
{
	int num = 0;
	scanf_s("%d", &num);
	if(is_prime(num))
	    printf("%d is prime\n",num);
	else 
		printf("%d is not prime\n", num);
	system("pause");
	return 0;
}
5.建立一個數組, 實現函式init()初始化陣列、 empty()清空陣列、 reverse()函式完成陣列元素的逆置。
要設計函式的引數,返回值。 
#include<stdio.h>
#include<windows.h>
void init(int arr[],int len,int set)
{
	printf("初始化陣列:\n");
	int i = 0;
	for (i = 0; i < len; i++)
	{
		arr[i] = set;
	}
}
void empty(int arr[], int len)
{
	printf("清空陣列:\n");
	int i = 0;
	for (i = 0; i < len; i++)
	{
		arr[i] = 0;
	}
}
void reverse(int arr[],int len)
{
	printf("逆置陣列:\n");
	int left = 0;
	int right = len - 1;
	int temp = 0;
	     while(left < right)
		{
			temp = arr[left];
			arr[left] = arr[right];
			arr[right]= temp;
			left++;
			right--;
		}
}
void print(int arr[], int len)
{
	int i = 0;
	for (i = 0; i < len; i++)
		printf("%d ", arr[i]);
	printf("\n");
}
int main()
{
	int arr[10] = {1,2,3,4,5,6,7,8,9,10 };
	int len = sizeof(arr) / sizeof(arr[0]);
	init(arr, len,3);
	print(arr,len);
	empty(arr, len);
	print(arr, len);
	reverse(arr, len);
	print(arr, len);
	system("pause");
	return 0;
}