practise函式實現——乘法口訣表,判斷素數,交換兩數,判斷閏年,陣列的初始清空逆置
阿新 • • 發佈:2018-11-14
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;
}