学习不易,需要坚持。
1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
输入5,输出55口诀表,输入,输出99的乘法口诀表。
2.使用函数实现两个数的交换。
3.实现一个函数判断year是不是润年。
4.创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。
1.
//实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
//输入,输出*9口诀表,输入,输出*5的乘法口诀表。
#include <stdio.h>
void Print(int n)
{
int i = 0 ;
int j = 0 ;
for(i=1; i<=n; i++)
{
for(j=1; j<=i; j++)
{
printf("%d×%d=%2d ", i, j, i*j) ;
}
printf("\n") ;
}
}
int main()
{
int input = 0 ;
printf("--------将打印出乘法口诀表--------\n") ;
printf("请输入你想打印的格式: ") ;
scanf("%d", &input) ;
Print(input) ;
return 0 ;
}
运行结果:
2.
//使用函数实现两个数的交换。
#include <stdio.h>
void Swap(int* p1, int* p2)
{
int temp = *p1 ;
*p1 = *p2 ;
*p2 = temp ;
}
int main()
{
int a = 0 ;
int b = 0 ;
printf("请分别为a和b赋值: ") ;
scanf("%d%d", &a, &b) ;
printf("交换前:a=%d, b=%d\n",a, b) ;
Swap(&a, &b) ;//此处应该传进指针,否则将无法对函数里的变量进行操作
printf("交换后:a=%d, b=%d\n",a, b) ;
return 0 ;
}
运行结果:
3.
//写个判断某年是不是闰年的函数
#include <stdio.h>
int Is_leap_year(int y)
{
return (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) ; //此处可以直接将表达式值作为函数返回值,使程序更简洁
}
int main()
{
int year = 0 ;
printf("--------此程序用来判断某年是否为闰年--------\n") ;
printf("请输入想要判断的年份: ") ;
scanf("%d", &year) ;
if ( 1 ==Is_leap_year(year) )
{
printf("%d是闰年\n", year) ;
}
else
printf("%d不是闰年\n", year) ;
return 0 ;
}
运行结果:
4.
//创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。
//要求:自己设计函数的参数,返回值。
#include <stdio.h>
void Init(int arr[], int sz)
{
int i = 0 ;
for(i=0; i<sz; i++)
{
arr[i] = i ;
}
}
void Empty(int arr[], int sz)
{
int i = 0 ;
for(i=0; i<sz; i++)
{
arr[i] = 0 ;
}
}
void Reverse(int arr[], int sz)
{
int left = 0 ;
int right = sz - 1 ;
while(left <= right)
{
int temp = arr[left] ;
arr[left] = arr[right] ;
arr[right] = temp ;
left++ ;
right-- ;
}
}
void Print(int arr[], int sz)
{
int i = 0 ;
for(i=0; i<sz; i++)
{
printf("%d ", arr[i]) ;
}
}
int main()
{
int input = 0 ;
int arr[10] ={ 0 } ;
int size = sizeof(arr) / sizeof(arr[0]) ;
printf("----------此程序将会对数组进行操作----------\n") ;
printf(" 1.初始化数组\n") ;
printf(" 2.逆置数组\n") ;
printf(" 3.清空数组\n") ;
printf(" 4.安全退出\n") ;
while(1)
{
printf("\n请输入相应的选项: ") ;
scanf("%d", &input) ;
switch(input)
{
case 1 :
printf("初始化后数组为:\n") ;
Init(arr, size) ;
Print(arr, size) ;
break ;
case 2 :
printf("逆置后数组为:\n") ;
Reverse(arr, size) ;
Print(arr, size) ;
break ;
case 3 :
printf("清空后数组为:\n") ;
Empty(arr, size) ;
Print(arr, size) ;
break ;
case 4 :
return 0 ;
default :
printf("输入错误,请重新输入: ") ;
}
}
return 0 ;
}
运行结果: