1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void chengfabiao(int n){
int i, j;
for (i = 1; i <= n; i++){
for (j = 1; j <= i; j++){
printf("%d*%d=%d ", j, i, i*j);
}
printf("\n");
}
}
int main(){
chengfabiao(12);
return 0;
}
2.使用函数实现两个数的交换。
由于在子函数中不能交换实参的值,只是交换了形参的值,所以需要将这个函数的参数定义成int *型的,这样通过间接访问地址内容的方式可以将实参进行交换。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void swap(int *a,int *b){
int tmp = 0;
tmp = *a;
*a = *b;
*b = tmp;
}
int main(){
int a = 10, b = 20;
printf("%d %d\n", a, b);
swap(&a,&b);
printf("%d %d\n", a, b);
return 0;
}
3.实现一个函数判断year是不是润年。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int leapyear(int a){
if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0){
printf("%d年是闰年\n", a);
}
else {
printf("%d年不是闰年\n", a);
}
}
int main(){
leapyear(2000);
return 0;
}
4. 创建一个数组,
实现函数init()初始化数组,
实现empty()清空数组,
实现reverse()函数完成数组元素的逆置。
数组元素的逆置采用的思想就是数组的第一个元素和最后一个元素进行交换,第二个元素和倒数第二个元素进行交换,以此类推。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void init(int arr[],int len){
int i = 0;
for (i = 0; i < len; i++){
arr[i] = i+1;
printf("%d ", arr[i]);
}
printf("\n");
}
void empty(int arr[], int len){
int i;
for (i = 0; i < len; i++){
arr[i] = 0;
printf("%d ", arr[i]);
}
printf("\n");
}
void reverse(int arr[], int len){
int left = 0, right = len - 1, tmp, i = 0;
while (left < right){
tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
for (i = 0; i < len; i++){
printf("%d ", arr[i]);
}
printf("\n");
}
int main(){
int a[] = { 0 };
int i = 0;
init(a, 8);
reverse(a, 8);
empty(a, 8);
return 0;
}
5.实现一个函数,判断一个数是不是素数。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void sushu(int a){
int i = 0;
for (i = 2; i < a; i++){
if (a%i == 0){
printf("%d是合数\n",a);
break;
}
}
if (a == i){
printf("%d是素数\n",a);
}
}
int main(){
sushu(97);
return 0;
}