1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,
输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void multiplication_table(int row)
{
int i=0;
int j=0;
for(i=1; i<=row; i++)
{
for(j=1; j<=i; j++)
{
printf("%d*%d=%2d ",j,i,i*j);
if(i==j)
{
printf("\n");
}
}
}
}
int main()
{
int line=0;
printf("请输入乘法表的行数:");
scanf("%d",&line);
multiplication_table(line);
system("pause");
return 0;
}
结果:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void multiplication_table(int row)
{
int i=0;
int j=0;
for(i=1; i<=row; i++)
{
for(j=1; j<=i; j++)
{
printf("%d*%d=%2d ",j,i,i*j);
if(i==j)
{
printf("\n");
}
}
}
}
int main()
{
int line=0;
printf("请输入乘法表的行数:");
scanf("%d",&line);
multiplication_table(line);
system("pause");
return 0;
}
2.使用函数实现两个数的交换。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void swap(int *x,int *y)
{
//方法一
int tmp=*x;
*x=*y;
*y=tmp;
方法二
// *x=*x+*y;
//*y=*x-*y;
//*x=*x-*y;
方法三
//*x=*x * *y;
//*y=*x / *y;
//*x=*x / *y;
方法四
//x=x^y;
//x=x^y;
//x=x^y;
}
int main()
{
int a=3;
int b=5;
swap(&a,&b);//传址调用
printf("a=%d b=%d\n",a,b);
system("pause");
return 0;
}
运行结果:
3.实现一个函数判断year是不是润年。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int judge_leapyear(int year)
{
if((year%400==0) || ((year%4==0) && (year%100!=0)))
return 1;
else
return 0;
}
int main()
{
int year=0;
int ret=0;
printf("please enter a year that you need to judge:");
scanf("%d",&year);
ret=judge_leapyear(year);
if(ret==0)
{
printf("%d is not a leap year.\n",year);
}
else
{
printf("%d is a leap year.\n",year);
}
system("pause");
return 0;
}
运行结果:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void swap(int *x,int *y)
{
//方法一
int tmp=*x;
*x=*y;
*y=tmp;
方法二
// *x=*x+*y;
//*y=*x-*y;
//*x=*x-*y;
方法三
//*x=*x * *y;
//*y=*x / *y;
//*x=*x / *y;
方法四
//x=x^y;
//x=x^y;
//x=x^y;
}
int main()
{
int a=3;
int b=5;
swap(&a,&b);//传址调用
printf("a=%d b=%d\n",a,b);
system("pause");
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int judge_leapyear(int year)
{
if((year%400==0) || ((year%4==0) && (year%100!=0)))
return 1;
else
return 0;
}
int main()
{
int year=0;
int ret=0;
printf("please enter a year that you need to judge:");
scanf("%d",&year);
ret=judge_leapyear(year);
if(ret==0)
{
printf("%d is not a leap year.\n",year);
}
else
{
printf("%d is a leap year.\n",year);
}
system("pause");
return 0;
}
4.创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void print(int arr[],int sz)//打印数组
{
int i=0;
for(i=0; i<sz; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
void init(int arr[],int sz)//初始化
{
int i=0;
for(i=0; i<sz; i++)
{
scanf("%d",&arr[i]);
}
}
void sort(int arr[],int sz)//冒泡排序
{
int i=0;
for(i=0; i<sz; i++)
{
int j=0;
for(j=0; j<sz-i-1; j++)
{
if(arr[j]>arr[j+1])//升序
{
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
//if(arr[j]<arr[j+1])//降序
//{
// int tmp=arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=tmp;
//}
}
}
}
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--;
}
}
void empty(int arr[],int sz)//清空
{
int i=0;
for(i=0; i<sz; i++)
{
arr[i]=0;
}
}
int main()
{
int arr[10];
int sz=sizeof(arr)/sizeof(arr[0]);
init(arr,sz);
print(arr,sz);
sort(arr,sz);
print(arr,sz);
reverse(arr,sz);
print(arr,sz);
empty(arr,sz);
print(arr,sz);
system("pause");
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void print(int arr[],int sz)//打印数组
{
int i=0;
for(i=0; i<sz; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
void init(int arr[],int sz)//初始化
{
int i=0;
for(i=0; i<sz; i++)
{
scanf("%d",&arr[i]);
}
}
void sort(int arr[],int sz)//冒泡排序
{
int i=0;
for(i=0; i<sz; i++)
{
int j=0;
for(j=0; j<sz-i-1; j++)
{
if(arr[j]>arr[j+1])//升序
{
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
//if(arr[j]<arr[j+1])//降序
//{
// int tmp=arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=tmp;
//}
}
}
}
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--;
}
}
void empty(int arr[],int sz)//清空
{
int i=0;
for(i=0; i<sz; i++)
{
arr[i]=0;
}
}
int main()
{
int arr[10];
int sz=sizeof(arr)/sizeof(arr[0]);
init(arr,sz);
print(arr,sz);
sort(arr,sz);
print(arr,sz);
reverse(arr,sz);
print(arr,sz);
empty(arr,sz);
print(arr,sz);
system("pause");
return 0;
}
5.实现一个函数,判断一个数是不是素数。
<span style="font-family:KaiTi_GB2312;"><span style="font-size:24px;">#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int judge_prime(int n)
{
int i=0;
for(i=2; i<sqrt((double)n); i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int num=0;
int ret=0;
printf("请输入你要判断的数(num):");
scanf("%d",&num);
ret=judge_prime(num);
if(ret!=0)
{
printf("%d is a prime number.\n",num);
}
else
{
printf("%d is not a prime number.\n",num);
}
system("pause");
return 0;
}</span><span style="font-size:24px;">
</span></span>