c回顾之day7

 

1、实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表;

2、使用函数实现两个数的交换;

3、实现一个函数判断year是不是润年;

4、创建一个数组,

实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。

5、实现一个函数,判断一个数是不是素数。

 

#include<stdio.h>
#include<memory.h>
#include<math.h>
#include<assert.h>
#include<windows.h>

void multiplicationTable(int n)
{
	int i = 1;
	int j = 1;
	for(; i <= n; i++){
		for(j = 1; j <= i; j++){
			printf("%d*%d=%d\t",i,j,i*j);
		}
		printf("\n");
	}
}

void swap(int *num1, int *num2)
{
	*num1 ^= *num2;
	*num2 ^= *num1;
	*num1 ^= *num2;
}

int judgeLeapYear(int year)
{
	if((year%4 == 0 && year%100 != 0) ||(year%400 == 0)){
		return 1;
	}
	return 0;
}

void arrInit(int arr[], int len)//降维,初始化需要长度
{
	int i = 0;
	assert(arr);//断言:是个宏,不是函数;检测条件是否成立;当括号的数据为0时,终止程序并输出相关信息。
	for(; i < len; i++){
		arr[i] = i;
	}
}

void arrEmpty(int arr[], int len)//清空数组
{
	assert(arr);
	memset(arr,0,sizeof(int)*len);
}

void arrReverse(int arr[], int len)
{
	int i = 0;
	assert(arr);
	for(; i < len/2 ; i++){
		swap(&arr[i], &arr[len-1-i]);
	}
}

void primeNumber(int num)
{
	int upper = sqrt(num);
	int i = 2;
	for(; i <= upper; i++){
		if(0 == num%i){
			break;
		}
	}
	if(i > upper){
		printf("%d\n",num);
	}
}

int main()
{
	/*int n;
	scanf("%d",&n);
	multiplicationTable(n);*/

	/*int num1;
	int num2;
	scanf("%d%d",&num1,&num2);
	swap(&num1,&num2);
	printf("num1 = %d\t num2 = %d\n",num1,num2);*/

	/*int year;
	while(1){
		scanf("%d",&year);
		printf("%d\n",judgeLeapYear(year));
	}*/

	int i = 0;
	int *arr;
	int len = 11;
	arr = (int*)malloc(sizeof(int)*len);
	arrInit(arr,len);
	//arrEmpty(arr,len);
	arrReverse(arr,len);
	for(; i < len; i++){
		printf("%d\t",arr[i]);
	}

	/*int i = 101;
	for(; i < 200; i+=2){
		primeNumber(i);
	}*/

	system("pause");
	return 0;
}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值