一、给定两个整形变量的值,将两个值的内容进行交换
#include<stdio.h>
int main()
{
int a=10;
int b=20;
int *p2=&a;
int *p1=&b;
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
a=*p2;
b=*p1;
printf ("a=%d,b=%d",a ,b);
system("pause");
return 0;
}
二、交换两个数的内容不允许创建临时变量,交换两个数的内容
#include<stdio.h>
int main()
{
int a=10;
int b=20;
a=a+b;
b=a-b;
a=a-b;
printf("a=%d,b=%d",a,b)
return 0;
}
三、求10 个整数中最大值(方法一的缺点是只能在程序内部修改所需要的比较的数字,不具备灵活特点,方法二更优)
#include<stdio.h>
int main()
{
int a[] = { 6 , 4 , 5 , 34 , 232 , 43 , 54 , 6 , 56 , 65},i,max = a[0];
for ( i = 0;i < 10; i++)
{
if(max<a[i])
max=a[i];
}
printf("最大数是%d\n",max);
system("pause");
return 0;
}
方法二:
#include<stdio.h>
int main()
{
int arr[10] ;
int i = 0;
int max ;
printf("请输入10个整数:");
for (i = 0; i < 10; i++)
{
scanf("%d",&arr[i]);
}
max=arr[0];
for (i = 0; i < 10; i++)
{
if(arr[i] > max)
max = arr[i];
}
printf("max=%d\n", max);
system("pause");
return 0;
}
四、将三个数按从大到小输出
#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a<b)
{b=t;b=a,a=t;}
if(a<c)
{c=t,c=a,a=t;}
if(b<c)
{c=t,b=c,b=t;}
printf("%d,%d,%d",a,b,c);
return 0;
}
五、求两个数的最大公约数
#include<stdio.h>
int a,b.temp;
int Division(){
printf("请输入两个数(a,b):\n");
scanf("%d,%d",&a,&b);
if(a<b)
{
temp=a;
a=b;
b=temp;
}
while(a%b!=0)
{
temp=a%b;
a=b;
b=temp;
}
printf("最大公约数=%d\n",b);
system("pause");
return 0;
}