1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
输入9,输出99口诀表,输入12,输出1212的乘法口诀表。
int i = 1;
int j = 1;
int form(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("%d*%d=%d\t", i, j, i*j);
if (j == i) {
printf("\n");
}
}
}
return 0;
}
2.使用函数实现两个数的交换。
void swap(int* x, int* y) {
int tmp = 0;
tmp = *x; *x = *y; *y = tmp;
}
3.实现一个函数判断year是不是润年。
int IsLeapYear(int i) {
if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)) {
printf("%d年是闰年\n", i);
return i;
}
else
printf("%d年不是闰年\n", i);
return 0;
}
4.实现一个函数,判断一个数是不是素数。
int IsPrime(int num) {
int i = 0;
for ( i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
printf("%d不是素数\n", num);
break;
}
}
if (i > sqrt(num)) {
printf("%d是素数\n", num);
}
return 0;
}
创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。
int init(int num1[SIZE]) {
for (int i = 0; i < SIZE; ++i) {
num1[i] = i;
}
}
int empty(int num2[SIZE]) {
for (int i = 0; i < SIZE; ++i) {
num2[i] = 0;
}
}
int reverse(int num3[SIZE]) {
int left = 0;
int right = SIZE - 1;
while (1) {
if (left <= right) {
swap(&num3[left], &num3[right]);
++left; --right;
}
if (left > right) {
break;
}
}
}
main函数如下:
int main() {
int a = 0;
int b = 0;
int c = 0;
int d = 0;
printf("请输入两个任意数:");
scanf("%d %d", &a, &b);
swap(&a, &b);
printf("交换后的结果是:%d %d\n", a, b);
int ch[SIZE];
printf("初始化数组后的结果为:");
init(ch);
for (int i = 0; i < SIZE; ++i)
{
printf("%d", ch[i]);
}
printf("\n");
reverse(ch);
printf("数组逆置后的结果为:");
for (int i = 0; i < SIZE; ++i) {
printf("%d", ch[i]);
}
printf("\n");
empty(ch);
printf("数组清空后后的结果为:");
for (int i = 0; i < SIZE; ++i) {
printf("%d", ch[i]);
}
printf("\n");
printf("%d\n",form(12));
printf("请输入一个年份:");
scanf("%d", &c);
IsLeapYear(c);
printf("请输入一个需要判断的数:");
scanf("%d", &d);
IsPrime(d);
system("pause");
return 0;
}