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;
}