// 有 10亿元钱每天花一半,可以花多少天?
/*
int money = 1000000000;
int day = 0;
while (0 < money) {
day++;
money = money / 2;
}
printf("%d", day);
*/
// :随机产生 20个[10 , 100]的正整数,输出这些数以及他们中的最大数
/*
int a = 0;
int max = 0;
while (a < 20) {
a++;
int j = arc4random() % (100 - 10 + 1) + 10;
printf("%d ", j);
max = max > j ? max : j;
}
printf("\n最大值为:%d", max);
*/
// :编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个各位立方之和等于该整数的三位数。
/*
int a = 100;
int count = 0;
while (a <= 999) {
if (((a / 100) * (a / 100) * (a / 100) + (a / 10 % 10) * (a / 10 % 10) * (a / 10 % 10) + (a % 10) * (a % 10) * (a % 10)) == a) {
printf("%d ", a);
count ++;
}
a++;
}printf("%d ", count);
*/
// :已知 abc+cba = 1333,其中 a,b,c均为一位数,编程求出满足条件的 a,b,c所有组合
/*
int a = 1,b = 0,c = 1;
while (a < 10) {
while (b < 10) {
while (c < 10) {
if ((a * 100 + b * 10 + c) + (c * 100 + b * 10 + a) == 1333) {
printf("%d %d %d\n", a,b,c);
}
c++;
}
b++;
c = 1;
}
a++;
b = 0;
c = 1;
}
*/
// :求 n个随机数里的最小值(n由用户输入)
/*
int n = 0;
printf("请输入一个数用来计算n 个随机数里的最小值\n");
scanf("%d", &n);
int a = 0;
int min = 0;
while (a < n) {
int i = arc4random()%101;
if (a == 0) {
min = i;
}
// printf("%d..", i);
min = min < i ? min : i;
a++;
}
printf("最小值:%d", min);
*/
// :输入两个数,求最大公约数和最小公倍数。(普通方法)
/*
int a = 0,b = 0;
printf("请输入两个数:\n");
scanf("%d%d", &a,&b);
int i = 0;
int max = 0;//最大公约数
int min = a < b ? a : b;
while (i < min) {
i++;
if (a % i == 0 && b % i == 0) {
if (i > max) {
max = i;
}
}
}
printf("最大公约数是:%d\n", max);
printf("最小公倍数是:%d", a / max * b);
*/
/*
//接收两个数求最大公约数
int a = 0,b = 0;
printf("请输入两个数:\n");
scanf("%d%d", &a,&b);
// 求出最小值
int min = a < b ? a : b;
//循环遍历 while for(从最小值开始依次递减查找第一个能同时被两个数整除的数,一旦找到跳出循环)
while (min > 0) {
if (a % min == 0 && b % min == 0) {
printf("%d",min);
break;
} min--;
}
*/
/*
//接收两个数求最小公倍数
int a = 0,b = 0;
printf("请输入两个数:\n");
scanf("%d%d", &a,&b);
// 求出最大值
int max = a > b ? a : b;
//循环遍历 while for(从最大值开始依次递增查找第一个能同时整除这两个数的数,一旦找到跳出循环)
while (max > 0) {
// for (int i = max; ; i++) {
if (max % a == 0 && max % b == 0) {
printf("%d",max);
break;
} max++;
// }
}
*/
/*
// :输入两个数,求最大公约数和最小公倍数。辗转相除法
int a = 0,b = 0;
printf("请输入两个数:\n");
scanf("%d%d", &a,&b);
int min = a < b ? a : b;
int i = 0;
int yushu = 0;
int chengji = a * b;
while (i < min) {
i++;
if (a % b == 0) {
printf("最大公约数是:%d", b);
}
yushu = a % b;
while (b % yushu != 0) {
yushu = a % b;
a = b;
b = yushu;
}
}
printf("最大公约数是:%d", yushu);
printf("最小公倍数是:%d", chengji / yushu);
*/
/*
//最大公约数
int a = 0,b = 0;
printf("请输入两个数:\n");
scanf("%d%d", &a,&b);
int min = a < b ? a : b;
int max = a > b ? a : b;
while (true) {
if (max % min == 0) {
printf("%d", min);
break;
}else{
max = max % min;
int temp = max;
max = min;
min = temp;
}
}
*/
// :使用int数组,存放3个年龄值,并循环的打印一遍
/*
int a[3] = {12,23,32};
int i = 0;
while (i < 3) {
printf("%d ", a[i]);
i++;
}
*/
C语言-3
最新推荐文章于 2022-03-03 20:39:18 发布