1.写一个函数找出两个整数的最大值
2.写一个函数交换两个整形变量的内容
3.写一个函数判断一个数是不是素数
4.写一个函数判断该年是不是闰年
5.写一个函数输入整型值,按照顺序打印它每一位(嵌套函数)
6.写一个函数求字符串长度
7.求n的k次方
8.求n个斐波那契数列
9.冒泡排序
1.1写一个函数找出两个整数的最大值
#include<stdio.h>
int MAX(int x,int y)
{
int z;
if(x>y)
z=x;
else
z=y;
return z;
}
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int ret=MAX(n,m);
printf("%d",ret);
return 0;
}
2.写一个函数交换两个整形变量的内容
void SWAP(int* pa,int* pb)
{
int tmp=*pa;
*pa=*pb;
*pb=tmp;
}
int main()
{
int n,m;
scanf("%d %d",&n,&m);
SWAP(&n,&m);
printf("%d %d",n,m);
return 0;
}
3.写一个函数判断一个数是不是素数
#include<stdio.h>
int PRIME(int n)
{
int i;
for (i = 2; i < n; i++)
{
if (n % i == 0)
return 0;
}
if (n == 1)
{
return 0;
}
return 1;
}
int main()
{
int num;
scanf_s("%d", &num);
if (PRIME(num) == 1)
{
printf("是素数");
}
else
{
printf("不是素数");
}
return 0;
}
4.写一个函数判断该年是不是闰年
#include<stdio.h>
int JUDGE(int y)
{
if (y % 400 == 0)
return 1;
else if(y % 4 == 0 && y % 100 != 0)
return 1;
return 0;
}
int main()
{
int year;
scanf_s("%d", &year);
if (JUDGE(year) == 1)
printf("是润年");
else
printf("不是闰年");
return 0;
}
5.写一个函数输入整型值,按照顺序打印它每一位(嵌套函数)
#include<stdio.h>
void PRINT(int n)
{
if (n > 9)
{
PRINT(n/10);
}
printf("%d ", n%10);
}
int main()
{
int num;
scanf_s("%d",&num);
PRINT(num);
return 0;
}
6.写一个函数求字符串长度
int STRLEN(char* str)
{
int count=0;
while(*str!='\0')
{
count++;
str++;
}
return count;
}
int main()
{
char ch[] = "hello";
printf("%d", STRLEN(ch));
return 0;
}
7.求n的k次方
#include<stdio.h>
double POW(int x, int y)
{
if (0 == y)
{
return 1.0;
}
else if (y > 0)
{
return x * POW(x, y - 1);
}
else
{
return 1.0 / POW(x, -y);
}
}
int main()
{
int j,k;
scanf_s("%d %d", &j,&k);
double ret = POW(j, k);
printf("%lf", ret);
return 0;
}
8.求n个斐波那契数列
#include<stdio.h>
int FIB(int n)
{
if (n > 2)
{
return FIB(n-1) + FIB(n-2);
}
else if(2==n)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int num;
scanf_s("%d", &num);
printf("%d", FIB(num));
return 0;
}
#include<stdio.h>
int Fib(int n)
{
int a = 0;
int b = 1;
int c;
if (1 == n)
return 0;
if (2 == n)
return 1;
while (n > 2)
{
c = a + b;
a = b;
b = c;
n--;
}
return c;
}
int main()
{
int num = 0;
scanf_s("%d", &num);
printf("%d",Fib(num));
return 0;
}
9.冒泡排序
void bubble_sort(int* arr, int sz)
{
int k
for (k = 0
{
int j = 0
//一趟冒泡排序,结果会把最大的值放在最后,下一次排序时,不需要考虑最后一个值(最大值)
for (j = 0
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = tmp
}
}
}
}
int main()
{
int arr[] = { 9,8,7,6,5,4,3,2,1 }
int sz = sizeof(arr) / sizeof(arr[0])
int i = 0
for (i = 0
{
printf("%d ", arr[i])
}
printf("\n")
bubble_sort(arr, sz)
for (i = 0
{
printf("%d ", arr[i])
}
return 0
}
//交换前为9 8 7 6 5 4 3 2 1
//交换后为1 2 3 4 5 6 7 8 9