问题1 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,如:输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。
代码实现如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
// 输出随意大小的乘法口诀表
int mult(int n) {
int i = 0;
int j = 0;
int mult = 0;
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++) { // 注意条件
printf("%d*%d=%2d ", j, i, i*j);
if (j == i)
printf("\n");
}
}
return 0;
}
int main() {
int n = 0;
printf("请输入一个数字:");
scanf("%d", &n);
mult(n);
system("pause");
return 0;
}
问题2. 使用函数实现两个数的交换。
注意事项: 形参不能改变实参的内容,所以使用函数进行数字交换时需要进行指针进行内存的地址来实现交换。
代码实现如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
用函数进行数字交换
int temp(int* x, int* y) {
int temp;
temp = *x;
*x = *y;
*y = temp;
return 0;
}
// 主函数
int main() {
int a = 5;
int b = 8;
printf("a = %d, b = %d\n", a, b);
int* p1;
int* p2;
p1 = &a;
p2 = &b;
temp(p1, p2);
printf("a = %d, b = %d\n", a, b);
system("pause");
return 0;
}
问题 3.
实现一个函数判断year是不是润年。
代码实现:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int leapyear(int x) {
if (x % 400 == 0) {
printf("%d是闰年\n",x);
}
else if (x % 100 != 0 && x % 4 == 0) {
printf("%d是闰年\n", x);
}
else {
printf("%d不是润年\n", x);
}
return 0;
}
int main() {
int year = 0;
printf("请输入一个年份:");
scanf("%d", &year);
leapyear(year);
system("pause");
return 0;
}
问题4. 用函数判断素数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
//判断素数的函数
int prime_num(int x) {
int i = 0;
int a = 0;
for (i = 2; i < x; i++) {
if (x % i == 0) {
a++;
}
}
if (a == 0) {
printf("%d是素数\n", x);
}
else{
printf("%d不是素数\n", x);
}
return 0;
}
int main() {
int num;
printf("请输入一个数:");
scanf("%d", &num);
prime_num(num);
system("pause");
return 0;
}