函数相关习题 数组相关

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;
}
发布了47 篇原创文章 · 获赞 4 · 访问量 514

猜你喜欢

转载自blog.csdn.net/weixin_45818891/article/details/103095648
今日推荐