學習不易,需要堅持。
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 ;
}
運行結果: