1. 程式人生 > >函式的生成及呼叫

函式的生成及呼叫

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

#include<stdio.h>
#include<stdlib.h>
void output(int a)
{
	int i, j;
	for (i = 1; i <= a; i++)
{
	for (j = 1; j <= i; j++)
	printf("%d*%d=%2d ", i, j, i*j);
	putchar('\n');
	}
    }
	int main()
{
	printf("請輸入要列印的行列數\n");
	 int a = 0;
	 scanf_s("%d", &a);
	 output(a);
	 system("pause");
	}

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

#include<stdio.h>
#include<stdlib.h>
void exchange(int *a , int *b)
{
    int c = 0;
    c = *a;
    *a = *b;
     *b = c;
     }
    int main()
{
    int x = 0;
    int y = 0;
    printf("請輸入倆個數\n");
    scanf("%d %d",&x,&y);
    exchange(&x,&y);
    printf("%d %d",x,y);
    system("pause");
    }

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

#include<stdio.h>
#include<stdlib.h>
int judge(int*x)
{
	if (*x % 4 == 0 && *x % 100 != 0)
	return  1;
	else if (*x % 100 == 0 && *x % 400 == 0)
	return 1;
	else
	return 0;
    }
   int main()
{
	int y = 0;
	printf("請輸入年數\n");
	scanf_s("%d", &y);
	if (judge(&y))
	printf("是閏年\n");
	else
	printf("不是閏年\n");
	system("pause");
    }

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

#include<stdio.h>
#include<stdlib.h>
int init(int arr[], int num)
 {
	for (int i = 0; i < num; i++)
	{
		arr[i] = i;
		printf("%d", arr[i]);
	}
	return 0;
}

int empty(int arr[], int num)
 {
	for (int i = 0; i < num; i++)
	 {
		arr[i] = 0;
		printf("%d", arr[i]);
	}
	return 0;
}

int reverse(int arr[], int num) 
{
	int left = 0;
	int right = num - 1;
	int temp;
	for (int i = 0; i < num; i++)
	 {
		while (left < right)
		{
			temp = arr[left];
			arr[left] = arr[right];
			arr[right] = temp;
			left++;
			right--;
		}
		printf("%d", arr[i]);
	}
	return 0;
}
int main() {
	int arr[20];
	int num = sizeof(arr) / sizeof(arr[0]);
	printf("請對陣列初始化:\n");
	init(arr, num);
	printf("\n");
	printf("元素逆置:\n");
	reverse(arr, num);
	printf("\n");
	printf("清空陣列:\n");
	empty(arr, num);
	printf("\n");
	system("pause");
	return 0;
}

5.實現一個函式,判斷一個數是不是素數。

#include<stdio.h>
#include<stdlib.h>
int Prime(int *x)
 {
   int a = 2;
   for(;a<*x;a++)
 {
   if(*x==2)
   return 1;
   if(*x%a==0)
   return 0;
  }
   return 1;
  }
   int main()
{
   int y = 0;
   printf("請輸入一個整數\n");
   scanf("%d",&y);
   if(Prime(&y))
   printf("是素數\n");
   else
   printf("不是素數\n");
   system("pause");
}