首页 > 代码库 > 经典的C程序
经典的C程序
程序一:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
1 #include<stdio.h> 2 void main(){ 3 int a, b, c, i; 4 for (i = 100; i <= 999; i++){ 5 //获取百位数 6 a = i / 100; 7 //获取十位数 8 b = i / 10 % 10; 9 c = i % 10;10 if ((a*a*a + b*b*b + c*c*c) == i){11 printf("%d ",i);12 }13 }14 }
程序二:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
1 #include<stdio.h> 2 void main() 3 { 4 int a, k = 0, i; 5 char b[100]; 6 scanf_s("%d", &a); 7 printf("%d=", a); 8 for (i = 2; i <= a; i++) 9 {10 do11 {12 if (a%i == 0)13 {14 b[k] = i; k++;15 a = a / i;16 }17 else18 break;19 } while (a >= i);20 }21 for (i = 0; i<2 * k - 1; i++)22 if (i % 2 == 0)23 printf("%d", b[i / 2]);24 else25 printf("*");26 }
程序三:输入两个正整数m和n,求其最大公约数和最小公倍数。
1 #include<stdio.h> 2 void main() 3 { 4 int a, b, x, y, r, t; 5 scanf_s("%d,%d", &a, &b); 6 printf("%d %d\n", a, b); 7 x = a; 8 y = b; 9 //交换位置 最终结果 y>x10 if (x>y)11 {12 t = y; y = x; x = t;13 }14 //碾转相除获取最大公约数15 do16 {17 r = y%x;18 y = x;19 x = r;20 } while (r != 0);21 printf("%d ", y);22 //根据两个数的乘积除以其最大公约数就是最小公倍数23 printf("%d", a*b / y);24 }
经典的C程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。