关于c的一些题
2016-06-29 10:39
295 查看
1.有10亿元钱每天花一半,可以花多少天?
unsigned int money = 1000000000, days = 0;
while (money != 0) {
money = money / 2;
days++;
}
printf("%d", days);
2.随机产生
20 个[10 , 100]的正整数,输出这些数以及他们中的最大数
// int i = 0, max = 0;
// while (i < 20) {
// int a = arc4random() % 91 + 10;
// printf("%d\n", a);
// max = max > a ? max : a;
// i++;
// }
// printf("max = %d", max);
3.编程将所有“水仙花数”打印出来,并打印其总个数。
“水仙花数”是一个各位立方之和等于该整数的三位数。
// int i = 100, count = 0;
// while (i <= 999) {
// if ((i / 100) * (i / 100) * (i / 100) + (i % 100 / 10) * (i % 100 / 10) * (i % 100 / 10) + (i % 10) * (i % 10) * (i % 10) == i) {
// printf("%d\n",i);
// count++;
// }
// i++;
// }
// printf("总个数为%d", count);
4.已知
abc+cba = 1333,其中
a,b,c 均为一位数,编程求出满足条件的
a,b,c 所有组合
// int i = 100;
// while (i <= 999) {
// if (i + (i % 10) * 100 + ((i % 100 ) / 10 * 10) + (i / 100) == 1333) {
// printf("%d\n", i);
// }
// i++;
// }
// 结果为:
// 419
// 518
// 617
// 716
// 815
// 914
// 组合为:4.1.9 5.1.8 6.1.7
5.输入两个数,求最大公约数和最小公倍数。(辗转相除法和普通方法)
//辗转相除法
// int a = 0, b = 0, GCD = 0, LCM = 0;
// printf("请输入两个数:");
// scanf("%d %d", &a, &b);
// int c = a % b, d = a * b;
// while (c != 0) {
// a = b;
// b = c;
// c = a % b;
// }
// GCD = b;
// LCM = d / GCD;
// printf("GCD = %d\n", GCD);
// printf("LCM = %d", LCM);
//普通方法
// int a = 0, b = 0, GCD = 0, LCM = 0;
// printf("请输入两个数:");
// scanf("%d %d", &a, &b);
// int i = 1, c = a * b;
// int min = a < b ? a : b;
// while (i <= min) {
// if ((a % i == 0) && (b % i == 0)) {
// GCD = GCD > i ? GCD : i;
// }
// i++;
// }
// LCM = c / GCD;
// printf("GCD = %d\n", GCD);
// printf("LCM = %d", LCM);
//普通方法
int num1 = 0, num2 =
0;
int gcd = 0, lcm =
0;
printf("请输入两个数:");
scanf("%d %d", &num1, &num2);
int min = num1 < num2 ? num1 : num2;
int product = num1 * num2;
for (int
i = min; i > 0; i--) {
if (num1 % i ==
0 && num2 % i ==0) {
gcd = i;
break;
}
}
lcm = product / gcd;
printf("最大公约数
= %d\n", gcd);
printf("最小公倍数
= %d", lcm);
6.求
n
个随机数里的最小值(n由用户输入)
// int n = 0, i = 0, min = 101;
// printf("请输入一个数:");
// scanf("%d", &n);
// while (i < n) {
// unsigned int n = arc4random() % 51 + 50;
// printf("%d\n", n);
// min = min < n ? min : n;
// i++;
// }
// printf("min = %d", min);
7.使用int数组,存放3个年龄值,并循环的打印一遍
// int a[3]={15, 20, 30};
// int i = 0;
// while (i < 3) {
// printf("%d ", a[i]);
// i++;
// }
unsigned int money = 1000000000, days = 0;
while (money != 0) {
money = money / 2;
days++;
}
printf("%d", days);
2.随机产生
20 个[10 , 100]的正整数,输出这些数以及他们中的最大数
// int i = 0, max = 0;
// while (i < 20) {
// int a = arc4random() % 91 + 10;
// printf("%d\n", a);
// max = max > a ? max : a;
// i++;
// }
// printf("max = %d", max);
3.编程将所有“水仙花数”打印出来,并打印其总个数。
“水仙花数”是一个各位立方之和等于该整数的三位数。
// int i = 100, count = 0;
// while (i <= 999) {
// if ((i / 100) * (i / 100) * (i / 100) + (i % 100 / 10) * (i % 100 / 10) * (i % 100 / 10) + (i % 10) * (i % 10) * (i % 10) == i) {
// printf("%d\n",i);
// count++;
// }
// i++;
// }
// printf("总个数为%d", count);
4.已知
abc+cba = 1333,其中
a,b,c 均为一位数,编程求出满足条件的
a,b,c 所有组合
// int i = 100;
// while (i <= 999) {
// if (i + (i % 10) * 100 + ((i % 100 ) / 10 * 10) + (i / 100) == 1333) {
// printf("%d\n", i);
// }
// i++;
// }
// 结果为:
// 419
// 518
// 617
// 716
// 815
// 914
// 组合为:4.1.9 5.1.8 6.1.7
5.输入两个数,求最大公约数和最小公倍数。(辗转相除法和普通方法)
//辗转相除法
// int a = 0, b = 0, GCD = 0, LCM = 0;
// printf("请输入两个数:");
// scanf("%d %d", &a, &b);
// int c = a % b, d = a * b;
// while (c != 0) {
// a = b;
// b = c;
// c = a % b;
// }
// GCD = b;
// LCM = d / GCD;
// printf("GCD = %d\n", GCD);
// printf("LCM = %d", LCM);
//普通方法
// int a = 0, b = 0, GCD = 0, LCM = 0;
// printf("请输入两个数:");
// scanf("%d %d", &a, &b);
// int i = 1, c = a * b;
// int min = a < b ? a : b;
// while (i <= min) {
// if ((a % i == 0) && (b % i == 0)) {
// GCD = GCD > i ? GCD : i;
// }
// i++;
// }
// LCM = c / GCD;
// printf("GCD = %d\n", GCD);
// printf("LCM = %d", LCM);
//普通方法
int num1 = 0, num2 =
0;
int gcd = 0, lcm =
0;
printf("请输入两个数:");
scanf("%d %d", &num1, &num2);
int min = num1 < num2 ? num1 : num2;
int product = num1 * num2;
for (int
i = min; i > 0; i--) {
if (num1 % i ==
0 && num2 % i ==0) {
gcd = i;
break;
}
}
lcm = product / gcd;
printf("最大公约数
= %d\n", gcd);
printf("最小公倍数
= %d", lcm);
6.求
n
个随机数里的最小值(n由用户输入)
// int n = 0, i = 0, min = 101;
// printf("请输入一个数:");
// scanf("%d", &n);
// while (i < n) {
// unsigned int n = arc4random() % 51 + 50;
// printf("%d\n", n);
// min = min < n ? min : n;
// i++;
// }
// printf("min = %d", min);
7.使用int数组,存放3个年龄值,并循环的打印一遍
// int a[3]={15, 20, 30};
// int i = 0;
// while (i < 3) {
// printf("%d ", a[i]);
// i++;
// }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言判断一个数是否是2的幂次方或4的幂次方
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- C语言实现选择排序、冒泡排序和快速排序的代码示例