函数相关习题 数组相关

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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

殇&璃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值