哈哈,来啦

今日讨论一些函数的使用
1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
输入9,输出99口诀表,输入12,输出1212的乘法口诀表。
分析:
先定义一个函数,在函数内部说明其功能,然后再主函数中调用该函数,实现乘法口诀表的打印

#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
void Print(int n){
	int i, j;               //定义i行和j列
	for (i = 1; i <= n; i++){    //控制行
		for (j = 1; j <= i; j++){       //控制列
			printf("%d*%d=%d\t", i, j, i*j);
		}
		printf("\n");
	}
}
main()
{
	int n=0;
	printf("please input a number:\n");
	scanf("%d",&n);
	Print(n);                //调用函数
	system("pause");
}

2.使用函数实现两个数的交换
分析
在swap函数中实现两个数交换的过程,然后在主函数中,输入想要交换的数,调用函数,输出结果。

#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
void swap(int* a, int *b){
	int t;
	t = *a, *a = *b, *b = t;
}
main(){
	int a, b;
	printf("please input two numbers:\n");
	scanf("%d %d", &a, &b);
	swap(&a, &b);
	printf("%d %d\n", a, b);
	system("pause");
}

3.实现一个函数判断year是不是润年。
分析:在函数中给定判断条件,是闰年则返回1,不是闰年则返回0.在主函数中调用该函数进行判断。

#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
int IsLeapyear(int n){   //是闰年返回1,不是闰年返回0
	if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0){
		return 1;
	}
	else{ return 0; }
}
main(){
	int n;
	printf("please input one year number:\n");
	scanf("%d", &n);
	if (IsLeapyear(n))
	{
		printf("%d是闰年\n",n);
	}
	else
	{
		printf("%d不是闰年\n",n);
	}
	system("pause");
}

4.创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。
分析:自己设计三个函数,分别用来实现数组初始化,数组清空,数组元素的逆置,然后再主函数中分别调用他们。

#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
void InitArry(int a[], int length){
	int i=0;   
	for (i = 0; i < length; i++)
	{
		a[i] = i;     //初始化数组
		printf("%d ", a[i]);
	}
}
void EmptyArry(int a[], int length)
{
	int i = 0;
	for (i = 0; i < length; i++)
	{
		a[i] = 0;
		printf("%d ", a[i]);
	}
}
void ReverseArry(int a[], int length){
	int i = 0;
	int left = 0;
	int right = length - 1;
	for (i = 0; i < length; i++){
		while (left < right){
			int t;
			t = a[left];
			a[left] = a[right];
			a[right] = t;
			left++;
			right--;
		}
		printf("%d", a[i]);
	}
}
	
main(){
	int a[10];
	int length = sizeof(a) / sizeof(a[0]);
	printf("数组初始化:\n");
	InitArry(a, length); 
	printf("\n");
	printf("数组元素的逆置:\n");
	ReverseArry(a, length);
	printf("\n");   //函数的调用
	printf("数组清空:\n");
	EmptyArry(a, length);
	printf("\n");
	system("pause");
}

5.实现一个函数,判断一个数是不是素数。
分析:设计一个函数,给出判断素数的条件,如果是素数则返回1,如果不是素数,则返回0.在主函数中输入想要判断的数,调用此函数,若满足条件则输出是素数,否则 ,输出不是素数。

#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"
#include"stdlib.h"
int Isprime(int n){
	int i;//是素数返回1,不是素数返回0
	if (n <= 1)
		return 0;
	if (n == 2)
		return 1;
	for (i = 2; i <= sqrt(n); i++){            //判断什么情况下是素数
		if (n%i == 0){
			return 0;
		}
	}

}
  void main(){
	int n;
	printf("please input a number:\n");
	scanf("%d", &n);
	if ((Isprime(n))){                  //调用函数
		printf("%d是素数\n", n);
	}
	else{
		printf("%d不是素数\n", n);
	}
	system("pause");
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42373873/article/details/88775816