No.18 代碼練習:打印乘法口訣,交換變量值,判斷閏年,數組操作

學習不易,需要堅持。

1.實現一個函數,打印乘法口訣表,口訣表的行數和列數自己指定,
輸入5,輸出55口訣表,輸入,輸出99的乘法口訣表。

2.使用函數實現兩個數的交換。

3.實現一個函數判斷year是不是潤年。

4.創建一個數組,實現函數init()初始化數組、實現empty()清空數組、實現reverse()函數完成數組元素的逆置。
要求:自己設計函數的參數,返回值。

1.
//實現一個函數,打印乘法口訣表,口訣表的行數和列數自己指定,
//輸入,輸出*9口訣表,輸入,輸出*5的乘法口訣表。
#include <stdio.h>

void Print(int n)
{
	int i = 0 ;
	int j = 0 ;

	for(i=1; i<=n; i++)
	{
		for(j=1; j<=i; j++)
		{
			printf("%d×%d=%2d  ", i, j, i*j) ;
		}
		printf("\n") ;
	}
}
int main() 
{
	int input = 0 ;
	printf("--------將打印出乘法口訣表--------\n") ;
	printf("請輸入你想打印的格式: ") ;
	scanf("%d", &input) ;
	Print(input) ;
	return 0 ;
}

運行結果:
在這裏插入圖片描述

在這裏插入圖片描述

2.
//使用函數實現兩個數的交換。
#include <stdio.h>

void Swap(int* p1, int* p2)
{
	int temp = *p1 ;
	*p1 = *p2 ;
	*p2 = temp ;
}
int main()
{
	int a = 0 ;
	int b = 0 ;
	printf("請分別爲a和b賦值: ") ;
	scanf("%d%d", &a, &b) ;
	printf("交換前:a=%d, b=%d\n",a, b) ;
	Swap(&a, &b) ;//此處應該傳進指針,否則將無法對函數裏的變量進行操作
	printf("交換後:a=%d, b=%d\n",a, b) ;
	return 0 ;
}

運行結果:
在這裏插入圖片描述

3.
//寫個判斷某年是不是閏年的函數
#include <stdio.h>

int Is_leap_year(int y)
{
	return (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) ; //此處可以直接將表達式值作爲函數返回值,使程序更簡潔
}
int main()
{
	int year = 0 ;
	printf("--------此程序用來判斷某年是否爲閏年--------\n") ;
	printf("請輸入想要判斷的年份: ") ;
	scanf("%d", &year) ;
	if ( 1 ==Is_leap_year(year) )
	{
		printf("%d是閏年\n", year) ;
	}
	else
		printf("%d不是閏年\n", year) ;
	return 0 ;
}

運行結果:
在這裏插入圖片描述

4.
//創建一個數組,實現函數init()初始化數組、實現empty()清空數組、實現reverse()函數完成數組元素的逆置。
//要求:自己設計函數的參數,返回值。
#include <stdio.h>

void Init(int arr[], int sz)
{
	int i = 0 ;
	for(i=0; i<sz; i++)
	{
		arr[i] = i ;
	}
}

void Empty(int arr[], int sz)
{
	int i = 0 ;
	for(i=0; i<sz; i++)
	{
		arr[i] = 0 ;
	}
}

void Reverse(int arr[], int sz)
{
	int left = 0 ;
	int right = sz - 1 ;
	while(left <= right)
	{
		int temp = arr[left] ;
		arr[left] = arr[right] ;
		arr[right] = temp ;
		left++ ;
		right-- ;
	}
}

void Print(int arr[], int sz)
{
	int i = 0 ;
	for(i=0; i<sz; i++)
	{
		printf("%d ", arr[i]) ;
	}
}

int main()
{
	int input = 0 ;
	int arr[10] ={ 0 } ;
	int size = sizeof(arr) / sizeof(arr[0]) ;
	printf("----------此程序將會對數組進行操作----------\n") ;
	printf("		1.初始化數組\n") ;
	printf("		2.逆置數組\n") ;
	printf("		3.清空數組\n") ;
	printf("		4.安全退出\n") ;
	while(1)
	{
		printf("\n請輸入相應的選項: ") ;
		scanf("%d", &input) ;

		switch(input)
		{
		case 1 :
			printf("初始化後數組爲:\n") ;
			Init(arr, size) ;
			Print(arr, size) ;
			break ;
		case 2 :
			printf("逆置後數組爲:\n") ;
			Reverse(arr, size) ;
			Print(arr, size) ;
			break ;
		case 3 :
			printf("清空後數組爲:\n") ;
			Empty(arr, size) ;
			Print(arr, size) ;
			break ;
		case 4 :
			return 0 ;
		default :
			printf("輸入錯誤,請重新輸入: ") ;
		}
	}
	return 0 ;

}

運行結果:
在這裏插入圖片描述

學習不易,需要堅持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章