推荐网站 cplusplus.com
练习1:
#include<stdio.h>
//自定义函数
//求2个数中最大值
int get_max(int x,int y)
{
if(x>y)
return x;
if(y>x)
return y;
}
int main()
{
int a=0,b=0;
int Max=0;
printf("请输入2个数字\n");
scanf("%d %d",&a,&b);
Max=get_max(a,b);
printf("Max=%d\n",Max);
return 0;
}
#include<stdio.h>
//实现2个数的调换
void Swap(int *pa,int *pb)
{
int temp=0;
temp=*pa;
*pa=*pb;
*pb=temp;
}
int main()
{
int a=0,b=0;
printf("请输入2个数字\n");
scanf("%d %d",&a,&b);
printf("%d %d\n",a,b);
Swap(&a,&b);
printf("%d %d\n",a,b);
return 0;
}
#include<stdio.h>
//打印100到200之间的素数
#include<math.h>
int is_prime(int n)
{
int j=0;
for(j=2;j<=sqrt(n);j++)
{
if(n%j==0)
{
return 0;
}
}
return 1;
}
int main()
{
int i=0;
for(i=100;i<=200;i++)
{
//判断i是否为素数
if(is_prime(i)==1)
printf("%d ",i);
}
return 0;
}
#include<stdio.h>
//打印1000到2000年的闰年
int is_leap_year(int n)
{
if(((n%4==0)&&(n%100!=0)||(n%400)==0))
return 1;
else
return 0;
}
int main()
{
int year=0;
for(year=1000;year<=2000;year++)
{
if(is_leap_year(year)==1)
{
printf("%d ",year);
}
}
return 0;
}
#include<stdio.h>
int binary_search(int arr[],int k,int sz)
{
//算法的实现
int left=0;
int right=sz-1;
while(left<=right)
{
int mid = (left+right)/2;
if(arr[mid]<k)
{
left=mid+1;
}
else if(arr[mid]>k)
{
right = mid-1;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
//二分查找
//在一个有序数组中查找具体的某个数
//如果找到返回这个数的下标,找不到返回-1
int arr[]={1,2,3,4,5,6,7,8,9,10};
int k = 7;
int sz = sizeof(arr)/sizeof(arr[0]);
// 传递过去的是数组arr首元素的地址
int ret = binary_search(arr,k,sz);
if(ret == -1)
{
printf("找不到指定的数字\n");
}
else
{
printf("找到了,下标是:%d\n",ret);
}
return 0;
}
#include<stdio.h>
void ADD(int* p)
{
(*p)++;
}
int main()
{
int num=0;
ADD(&num);
printf("num=%d\n",num);
ADD(&num);
printf("num=%d\n",num);
ADD(&num);
printf("num=%d\n",num);
ADD(&num);
printf("num=%d\n",num);
return 0;
}