1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void Print_kjb(int l)
{
int i = 0;
int j = 0;
for (i = 1; i <= l; i++)
{
for (j = 1; j <= i; j++)
printf("%2d *%2d=%2d ", i, j, i*j);
printf("\n");
}
}
int main()
{
int line = 0;
printf("请输入要生成乘法口诀表的行数\n");
scanf("%d",&line);
Print_kjb(line);
system("pause");
return 0;
}
2.使用函数实现两个数的交换。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void change(int* p1, int* p2)
{
int tmp;
tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
int main()
{
int a = 10;
int b = 20;
printf("a = %d, b = %d\n", a, b);
change(&a, &b);
printf("a = %d, b = %d\n", a, b);
system("pause");
return 0;
}
3.实现一个函数判断year是不是润年。
(1)判断所输入是否为闰年
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int r_year(int x)
{
if ((x % 4 == 0 && x % 100 != 0) || (x % 400 == 0))
return 1;
else return 0;
}
int main()
{
int year = 0;
printf("请输入所要查询的年份\n");
scanf("%d", &year);
if (r_year(year) == 1)
printf("%d是闰年\n", year);
else
printf("%d不是闰年", year);
system("pause");
return 0;
}
(2)判断所输入区间是否是闰年
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int r_year(int x)
{
if ((x % 4 == 0 && x % 100 != 0) || (x % 400 == 0))
return 1;
else return 0;
}
void more_r_year(int x, int y)
{
int f = 0;
int i = 0;
for (i = x; i <= y; i++)
if (r_year(i) == 1)
{
printf("%d ", i);
f = 1;
}
if (f == 0)
printf("此区间没有闰年\n");
}
int main()
{
int yearR = 0;
int yearL = 0;
printf("请输入所要查询的年份区间\n");
scanf("%d%d", &yearL, &yearR);
more_r_year(yearL, yearR);
system("pause");
return 0;
}
- 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void init(int *p, int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
scanf("%d", p + i);
}
void reverse(int* p, int sz)
{
int tmp = 0;
int l = 0;
int r = sz - 1;
while (l <= r)
{
tmp = *(p + l);
*(p + l) = *(p + r);
*(p + r) = tmp;
l++;
r--;
}
}
void empty(int *p, int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
*(p + i) = NULL;
}
int main()
{
int i = 0;
int arr[10];
int size = sizeof(arr) / sizeof(arr[0]);
printf("请输入10个数字存入数组:");
init(arr, size);
for (i = 0; i < size; i++)
printf("%d ", arr[i]);
printf("\n数组逆置:");
reverse(arr, size);
for (i = 0; i < size; i++)
printf("%d ", arr[i]);
empty(arr, size);
printf("\n数组清空:");
for (i = 0; i < size; i++)
printf("%d ", arr[i]);
system("pause");
return 0;
}
5.实现一个函数,判断一个数是不是素数。
(1)判断单个数字
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int is_prime(int n)
{
int i = 0;
if (n <= 2)
return 0;
for (i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
int main()
{
int a = 0;
printf("请输出所要查询的区间:");
scanf("%d", &a);
if (is_prime(a) == 1)
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
system("pause");
return 0;
}
(2)判断区间内素数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int is_prime(int n)
{
int i = 0;
if (n <= 2)
return 0;
for (i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
void more_prime(int x, int y)
{
int f = 0;
int i = 0;
for (i ; i <= y; i++)
{
if (is_prime(i) == 1)
{
printf("%d ", i);
f = 1;
}
}
if (f == 0)
printf("此区间没有素数\n");
}
int main()
{
int l = 0;
int r = 0;
printf("请输出所要查询的区间:");
scanf("%d%d", &l, &r);
more_prime(l, r);
system("pause");
return 0;
}