1.求两个数的最大值
#include <stdio.h>
#include <stdlib.h>
main()
{
int a,b,c;
int max(int x,int y);
printf("请输入要比较的两个数 !\n");
scanf("%d %d",&a,&b);
c=max(a,b);
printf("要比较的两个数的最大值是:%d\n",c);
system("pause");
}
int max(int x,int y)
{
int z;
z=x>y?x:y;
}
2.交换两个数的值
#include <stdio.h>
#include <stdlib.h>
main()
{
int *a,*b;
int swap(int *x,int *y);
printf("请输入要交换的两个数 !\n");
scanf("%d %d",&a,&b);
printf("交换前的两个数为:%d %d\n",a,b);
swap(&a,&b);
printf("交换后的两个数为:%d %d\n",a,b);
system("pause");
}
int swap(int *x,int *y)
{
int tmp;
tmp=*x;
*x=*y;
*y=tmp;
}
3.利用冒泡排序算法实现排序的功能
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
//利用冒泡排序法实现排序的功能
int a[MAX];
main()
{
int i;
int sort();
printf("请输入要利用冒泡排序法进行排序的数\n");
for(i=0;i<MAX;i++)
{
scanf("%d",&a[i]);
}
printf("利用冒泡排序法进行排序前的数\n");
for(i=0;i<MAX;i++)
{
printf("%4d",a[i]);
}
printf("\n");
//调用冒泡排序函数
sort();
printf("利用冒泡排序法进行排序后的数\n");
for(i=0;i<MAX;i++)
{
printf("%4d",a[i]);
}
system("pause");
}
int sort()
{
int i,j,tmp;
for(i=0;i<=MAX-2;i++)
{
for(j=0;j<MAX-i-1;j++)
if(a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
4.利用选择排序的方法进行排序的实现
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
//利用选择排序法实现排序的功能
int a[MAX];
main()
{
int i;
int selectsort();
printf("请输入要利用选择排序法进行排序的数\n");
for(i=0;i<MAX;i++)
{
scanf("%d",&a[i]);
}
printf("利用选择排序法进行排序前的数\n");
for(i=0;i<MAX;i++)
{
printf("%4d",a[i]);
}
printf("\n");
//调用选择排序函数
selectsort();
printf("利用选择排序法进行排序后的数\n");
for(i=0;i<MAX;i++)
{
printf("%4d",a[i]);
}
system("pause");
}
int selectsort()
{
int i,j,tmp,p;
for(i=0;i<MAX-1;i++)
{
p=i;
for(j=i+1;j<MAX;j++)
if(a[j]<a[p])
p=j;
if(p!=i)
{
tmp=a[p];
a[p]=a[i];
a[i]=tmp;
}
}
}
5.随机数加减法的问题
效果如图:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>//使用当前时钟做种子
void main( void )
{
int i,j,k,m,n;
int add(int x,int y);
int sub(int x,int y);
int mul(int x,int y);
int divis(int x,int y);
srand((int)time(0));
loop:
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
k=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf("产生的随机数j=%d\tk=%d\n",j,k);
printf("请输入你想进行的操作:1、加法运算 2、减法运算 3.乘法运算 4、除法运算\n");
scanf("%d",&m);
switch(m)
{
case 1:
printf("两个数的和是:");
add(j,k);
break;
case 2:
printf("两个数的差是:");
if(j>k)
{
sub(j,k);
}else{
printf("减数小于被减数--Divide Overflow\n");
}
break;
case 3:
printf("两个数的积是:");
mul(j,k);
break;
case 4:
printf("两个数的商是:");
divis(j,k);
break;
default:
printf("运算出错,出现异常!!");
break;
}
printf("你想继续进行操作么?1,继续 2、退出");
scanf("%d",&i);
switch(i)
{
case 1:
goto loop;
break;
case 2:
printf("成功退出!!");
}
system("pause");
}
int add(int x,int y){
int z;
z=x+y;
printf("%d\n",z);
return 0;
}
int sub(int x,int y){
int z;
z=x-y;
printf("%d\n",z);
return 0;
}
int mul(int x,int y){
int z;
z=x*y;
printf("%d\n",z);
return 0;
}
int divis(int x,int y){
int z;
z=x/y;
printf("%d\n",z);
return 0;
}
6.求N的阶乘的方法
运行结果:
#include<stdio.h>
int main()
{
int result=1,num;
printf("请输入要求的阶乘数\n");
scanf("%d",&num);
for(int i=1;i<=num;i++)
{
result=result*i;
}
printf("%d的阶乘是%d",num,result);
}