1>实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9乘9乘法口诀表,输入12,输出12乘12乘法口诀表
思路:使用双层for循环,外层控制行,内层控制每一行中的多个表达式.内层循环每跑一次进行换行操作,这样就会输出下三角样式的乘法表.
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void form(int num){
int i = 1;
int j = 1;
for (i = 1; i < num + 1; ++i){
for (j = 1; j < i + 1; ++j){
printf("%d*%d=%-3d", j, i, i*j);
}
printf("\n");
}
}
int main(void){
int num = 0;
scanf("%d", &num);
form(num);
system("pause");
return 0;
}
2>使用函数实现连个数的交换
思路:应该使用其地址进行交换.
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void exchange(int* a, int* b){
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
}
int main(void){
int num1 = 0,num2 = 0;
scanf("%d %d", &num1, &num2);
exchange(&num1, &num2);
printf("%d %d\n",num1, num2);
system("pause");
return 0;
}
3>实现一个函数判断year是不是闰年
思路:如果是整数年,可以被400整除即为闰年.非整数年可以被4整除但不能被100整除即为闰年.
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
//判断输入的年份是不是闰年,是闰年返回1,不是闰年返回0.
int judge(int year){
int ret = 0;
if (year%100==0){
if (year % 4 == 0){
ret = 1;
}
}
else if (year % 4 == 0){
ret = 1;
}
else{
ret = 0;
}
return ret;
}
int main(void){
int year = 0;
scanf("%d", &year);
int result = judge(year);
printf("%d\n", result);
system("pause");
return 0;
}
4>创建一个数组,
实现函数init()初始化数组
实现empty()清空数组
实现reverse()函数完成数组元素的逆置
要求:自己设计函数的参数,返回值
思路:使用for循环对数组进行操作.
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void exchange(int* a, int* b){
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
}
void init(int a[],int size){
int i = 0;
for (i = 0; i < size; ++i){
a[i] = i;
}
for (i = 0; i < size; ++i){
printf("%d ",a[i]);
}
printf("\n");
}
void empty(int a[],int size){
int i = 0;
for (i = 0; i < size; ++i){
a[i] = 0;
}
for (i = 0; i < size; ++i){
printf("%d ", a[i]);
}
printf("\n");
}
void reverse(int a[],int size){
int i = 0;
int j = size - 1;
for (i = 0; i < size/2; ++i,--j){
exchange(&a[i], &a[j]);
}
for (i = 0; i < size; ++i){
printf("%d ", a[i]);
}
printf("\n");
}
int main(void){
int arr[10] = {1};
int size = sizeof(arr) / sizeof(arr[0]);
init(arr, size);
//empty(arr, size);
reverse(arr, size);
system("pause");
return 0;
}
数组初始化:
数组初始化以及清空数组:
数组初始化以及逆置: