函式的生成及呼叫
阿新 • • 發佈:2018-11-19
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");
}