1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。
#include <stdio.h> void print1(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 n = 0; scanf_s("%d", &n); print1(n); return 0; }
2.使用函数实现两个数的交换。
#include <stdio.h> void print2(int* pa, int* pb) { int tmp = *pa; *pa = *pb; *pb = tmp; } int main() { int x = 0; int y = 0; scanf_s("%d %d", &x, &y); printf("x=%d y=%d\n", x, y); print2(&x, &y); printf("x=%d y=%d\n", x, y); return 0; }
3.实现一个函数判断year是不是润年。
#include <stdio.h> //1是闰年 int print3(int y) { if ((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) { return 1; } return 0; } int main() { int y = 0; scanf_s("%d", &y); if (print3(y) == 1) { printf("闰年\n"); } else { printf("不是闰年\n"); } return 0; }
4.实现一个函数,判断一个数是不是素数。
#include <stdio.h> int my_su(int n) { int i = 0; int flag = 0; //flag=1为素数 for (i = 2; i < n; i++) { if (n % 1 != 0) { flag = 1; } } return flag; } int main() { int n = 0; scanf_s("%d", &n); if (my_su(n) == 1) { printf("是素数\n"); } else { printf("不是素数\n"); } return 0; }
5.
创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。
#include <stdio.h> //实现函数init()初始化数; void init(int arr[], int n) { for (int i = 0; i < n; i++) { arr[i] = i; } } //实现函数empty()清空数组; void empty(int arr[], int n) { memset(arr, 0, sizeof(arr[0]) * n); } //实现函数reverse()完成数组元素的逆置。 void reverse(int arr[], int n) { int left = 0; int right = n - 1; while (left < right) { int tmp; tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; left++; right--; } } int main() { int arr[] = { 0 }; int i, n; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &arr[i]); } init(arr[i], n); empty(arr[i], n); reverse(arr[i], n); for (i = 0; i <= n; i++) { printf("%d", arr[i]); } return 0; }
下面代码仅供参考!!(可能有些许错误)!!!
#include <stdio.h> void empty(int arr[], int sz) { int i = 0; for (i = 0; i < sz; i++) { arr[i] = 0; } ini(arr, sz); } void ini(int arr[],int sz) { int i = 0; for (i = 0; i < sz; i++) { scanf_s("%d", &arr[i]); } reverse(arr, sz); } void reverse(int arr[], int sz) { int i = 0; for (i = sz - 1; i >= 0; i--) { printf("%d ", arr[i]); } } int main() { int arr[10] = { 0,1,2,3,4,5,6,7,8,9 }; int sz = 0; sz = sizeof(arr) / sizeof(arr[0]); empty(arr,sz); return 0; }