输入任意三个数,按从大到小顺序输出
#include <stdio.h>
int main()
{
int a=0, b=0, c=0;
int tmp = 0;//设置中间变量,以便于交换数据
printf("please input a,b,c:");
scanf("%d%d%d", &a, &b, &c);
if (a < b)//只需考虑小于的情况交换数据即可,对于大于和等于原样输出
{
tmp = a;
a = b;
b = tmp;
}
if (a < c)
{
tmp = a;
a = c;
c = tmp;
}
if (b < c)
{
tmp = b;
b = c;
c = tmp;
}
printf("a=%d,b=%d,c=%d\n", a, b, c);
return 0;
}
辗转相除法求两个数的最大公约数
数学原理:辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除较小数,再用较小数除以出现的余数(第一余数),再用第一余数出现的余数(第二余数),如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
例子:求1997 和 615 两个正整数的最大公约数
1997 / 615 = 3 (余 152)
615 / 152 = 4(余7)
152 / 7 = 21(余5)
7 / 5 = 1 (余2)
5 / 2 = 2 (余1)
2 / 1 = 2 (余0)
至此,最大公约数为1
用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止。最后所得的那个最大公约数,就是所有这些数的最大公约数。
#include <stdio.h>
int main()
{
int m=0,n=0;
int r=0;
scanf("%d%d", &m, &n);
while (r=m%n)
{
m = n;
n = r;
}
printf("%d是m和n的最大公约数\n", n);
return 0;
}
求10 个整数中最大值。
#include <stdio.h>
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10};
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
int max = arr[0];//不能随便设置为0,有可能数组里里面的数是负数
for (i = 1; i < sz; i++)
{
if (arr[i]>max) max = arr[i];
}
printf("max=%d\n", max);
return 0;
}
猜数字游戏
1.电脑随机生成一个数字
2.猜数字
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()
{
printf(" 1.play 0.exit \n");
}
void game()
{ //生成一个随机数,那时间戳来设置随机数生成起始点
//time_t time(time_t*timer)
int ret = 0;
int guess = 0;
ret = rand()%100+1;//生成1-100随机数
//printf("%d\n", ret);
while (1)
{
printf("请猜数字\n");
scanf("%d", &guess);
if (guess > ret) printf("猜大了\n");
else if (guess < ret) printf("猜小了\n");
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case 1:game(); break;
case 0:printf("退出游戏\n"); break;
default:printf("选择错误\n"); continue;
}
} while (input);
return 0;
}
关机程序
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int main()
{//shutdown -s -t 60电脑60秒关机
//system()-执行系统命令的
char input[20] = { 0 };
system("shutdown -s -t 60");
while (1)
{
printf("请注意,你的电脑在1分钟内关机,如果输入:我是猪,就取消关机\n请输入");
scanf("%s",input);
if (strcmp(input, "我是猪") == 0)//比较两个字符——strcmp()
{
system("shutdown -a");
break;
}
else
{
continue;
}
}
return 0;
}