#include<stdio.h>
#include<string.h>
//定义一个函数,求两个数的最大值
//函数定义
int get_max(int x,int y) {
return (x > y ? x : y);
}
int main() {
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
//求较大值
//函数调用
int m = get_max(a, b);
printf("%d\n", m);
return 0;
}
4,定义一个函数,交换两个变量
复制代码
#include<stdio.h>
#include<string.h>
////定义一个函数,交换两个变量
//void Swap(int x, int y) {
// int z = 0;
// z = x;
// x = y;
// y = z;
//}
////当实参传递给形参的时候,形参是实参的一份临时拷贝
////对形参的修改不会影响实参
//int main() {
// int a = 0;
// int b = 0;
// scanf("%d%d", &a, &b);
// //交换
// printf("交换前:a=%d b=%d\n", a, b);
// //a和b叫实参
// Swap(a, b);
// printf("交换后:a=%d b=%d\n", a, b);
//
// return 0;
//}
//对上述代码修改后
//定义一个函数,交换两个变量
void Swap(int *px, int *py) {//指针变量存地址
int z = *px;
*px = *py;//真正交换了变量内容
*py = z;
}
//当实参传递给形参的时候,形参是实参的一份临时拷贝
//对形参的修改不会影响实参
int main() {
int a = 0;
int b = 0;
scanf("%d%d", &a, &b);
//交换
printf("交换前:a=%d b=%d\n", a, b);
//a和b叫实参
// Swap(a, b);//传值调用
Swap(&a, &b);//传址调用
printf("交换后:a=%d b=%d\n", a, b);
return 0;
}
5,打印100-200之间的素数
复制代码
#include<stdio.h>
#include<string.h>
//打印100-200之间的素数
//素数是只能被1和他本身整除的数
//7
//1和7整除
//2 3 4 5 6
#include<math.h>
int main() {
int i = 0;
for (i = 100; i <= 200; i++) {
//判断i是否为素数
//是素数就打印
//拿2-(i-1)之间的数字去试除i
int flag = 1;//flag是一,表示是素数
int j = 0;
//for (j = 2 ; j<=i-1 ; j++)
for (j = 2; j <= sqrt(i); j++)//优化 sqrt:开平方函数
{
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1)
{
printf("%d ", i);
}
}
return 0;
}
6,写一个函数判断一个数是不是素数
复制代码
#include<stdio.h>
#include<string.h>
//写一个函数判断一个数是不是素数
//打印100-200之间的素数
//素数是只能被1和他本身整除的数
//7
//1和7整除
//2 3 4 5 6
#include<math.h>
int is_prime(int n) {
int j = 0;
//for (j = 2 ; j<=i-1 ; j++)
for (j = 2; j <= sqrt(n); j++)//优化 sqrt:开平方函数
{
if (n % j == 0) {
return 0;
}
}
return 1;
}
int main() {
int i = 0;
for (i = 100; i <= 200; i++) {
//判断i是否为素数
//是素数就打印
//拿2-(i-1)之间的数字去试除i
if (is_prime(i))
printf("%d ", i);
}
return 0;
}
7,指针的应用
复制代码
#include<stdio.h>
#include<string.h>
int main() {
int a = 10;
int* p = &a;
a = 20;//直接改
*p = 30;//间接改
return 0;
}