1. 实现一个函数,打印乘法口诀表,输入n,输出n*n口诀表,
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int print(int x)
{
int i = 0;
for (i = 1; i < x; i++)
{
int j = 0;
for (j = 1; j <= i; j++)
{
printf("%d*%d=%2d ", j, i, j*i);
}
printf("\n");
}
}
int main()
{
int n = 0;
printf("请输入乘法表需要打印的行数:");
scanf("%d", &n);
print(n);
system("pause");
return 0;
}
2. 使用函数实现两个数的交换。
传值调用,函数的实参和形参分别占用不同的内存块,在函数部分,对形参的修改并不会对实参有什么影响,所以在函数部分,引入了指针,修改其地址里面的内容。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//函数的实现
void exchange(int *px,int *py)
{
int t;
t = *px;
*px = *py;
*py = t;
}
int main()
{
int a;
int b;
printf("请输入需要交换的两个数:");
scanf("%d%d", &a, &b);
printf("原来的两个数分别为:%d %d\n", a, b);
exchange(&a, &b);
printf("交换后两个数分别为:%d %d\n", a, b);
system("pause");
}
3. 实现一个函数,判断year是不是润年。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int leapyear(int year)
{
return ((0 == year % 4) && (0 != year % 100)) || (0 == year % 400);
}
int main()
{
int y = 0;
scanf("%d", y);
leapyear(y);
if (1 == leapyear(y))
{
printf("%d是闰年", y);
}
else
printf("不是");
system("pause");
return 0;
}
4.
创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//实现reverse()函数完成数组元素的逆置
void Reverse(int arr[], int sz)
{
int left = 0;
int right = sz - 1;
while (left < right)
{
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
}
//实现函数init()初始化数组、
void Init(int arr[], int sz, int set)
{
int i = 0;
for (i = 0; i < sz; i++)
{
arr[i] = set;
}
}
//实现empty()清空数组、
void Empty(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
arr[i] = 0;
}
}
int main()
{
int arr[] = { 1,2,4,5,8,9,12,14,16 };
int sz= sizeof(arr) / sizeof(arr[0]);
int i = 0;
for (i = 0; i < sz; i++)
{
printf("arr[%d]=%2d ", i, arr[i]);
}
printf("\n");
//实现reverse()函数完成数组元素的逆置
Reverse(arr, sz);
for (i = 0; i < sz; i++)
{
printf("arr[%d]=%2d ",i, arr[i]);
}
printf("\n");
//实现函数init()初始化数组、
Init(arr, sz, 2);
for (i = 0; i < sz; i++)
{
printf("arr[%d]=%2d ", i, arr[i]);
}
printf("\n");
//实现empty()清空数组、
Empty(arr, sz);
for (i = 0; i < sz; i++)
{
printf("arr[%d]=%2d ", i, arr[i]);
}
printf("\n");
system("pause");
return 0;
}
5.实现一个函数,判断一个数是不是素数。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int prime(int x)
{
int j = 0;
for (j = 2; j <= sqrt(x); j++)
{
if (x%j == 0)
{
break;
}
}
return j > sqrt(x) ? 1 : 0;
}
int main()
{
int x = 0;
printf("判断一个数是否为素数\ninput:");
scanf("%d", &x);
prime(x);
if (1 == prime(x))
printf("yes\n");
else
printf("no\n");
system("pause");
return 0;
}