1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
输入9,输出99口诀表,输入12,输出1212的乘法口诀表。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void putmul(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("%d*%d =%d ", j, i, j * i);
if (i == j) {
printf("\n");
}
}
}
}
int main() {
int n = 0;
printf("打印n阶乘法表\n");
printf("请输入n的值:");
scanf("%d", &n);
printf("\n");
putmul(n);
system("pause");
return 0;
}
2.使用函数实现两个数的交换。
#include<stdio.h>
#include<stdlib.h>
//这里要注意不能直接传值,否则只交换形参而没有交换实参.
void exchange(int* m, int* n) {
int tmp = 0;
tmp = *m;
*m = *n;
*n = tmp;
return 0;
}
int main() {
int a = 10;
int b = 20;
exchange(&a, &b);
printf("%d\n%d\n", a, b);
system("pause");
return 0;
}
3.实现一个函数判断year是不是润年。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void leapyear(int year) {
if (year % 400 == 0) {
printf("是闰年!\n");
}
else if (year % 4 == 0 && year % 100 != 0) {
printf("是闰年!\n");
}
else printf("不是闰年!\n");
}
int main() {
int year = 0;
printf("请输入年份:");
scanf("%d", &year);
leapyear(year);
system("pause");
return 0;
}
创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。
#include<stdio.h>
#include<stdlib.h>
void init(int arr[10]) {
for (int i = 0; i < 10; i++) {
arr[i] = i;
}
printf("数组初始化后: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
void empty(int arr[10]) {
for (int i = 0; i < 10; i++) {
arr[i] = 0;
}
printf("数组清空后: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
void reverse(int arr[10], int len) {
for (int i = 0; i < len / 2; i++) {
int tmp = arr[i];
arr[i] = arr[len - i];
arr[len - i] = tmp;
}
printf("数组逆置后: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[10] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9};
int len = 10 - 1; //元素下标要减一
init(arr);
empty(arr);
init(arr);
reverse(arr, len);
system("pause");
return 0;
}
5.实现一个函数,判断一个数是不是素数。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void putprime(int num) {
if (num <= 1) {
printf("不是素数!\n");
return 0;
}
if (num == 2) {
printf("是素数!\n");
return 0;
}
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
printf("不是素数!\n");
return 0;
}
}
printf("是素数!\n");
}
int main() {
int num = 0;
printf("请输入数字: ");
scanf("%d", &num);
putprime(num);
system("pause");
return 0;
}