经典的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         do
11         {
12             if (a%i == 0)
13             {
14                 b[k] = i; k++;
15                 a = a / i;
16             }
17             else
18                 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         else
25             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>x
10     if (x>y)
11     {
12         t = y; y = x; x = t;
13     }
14     //碾转相除获取最大公约数
15     do
16     {
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 }
时间: 2024-10-26 21:59:00

经典的C程序的相关文章

100个经典C语言程序(益智类)

100个经典C语言程序(益智类) [1.绘制余弦曲线] 在屏幕上用"*"显示0~360度的余弦函数cos(x)曲线 [问题分析与算法设计] 利用cos(x)的左右对称性,将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形的总宽度为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就 应为62-m.程序中利用反余弦函数acos计算坐标(x,y)的对应关系. #include<st

[转]100个经典C语言程序(益智类问题)

目录: 1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 8.借书方案知多少 9.杨辉三角形 10.数制转换 11.打鱼还是晒网 12.抓交通肇事犯 13.该存多少钱 14.怎样存钱利最大 15.捕鱼和分鱼 16.出售金鱼 1.7 分数四则运算 17.平分七筐鱼 18.有限5位数 19. 8 除不尽的数 21.4位反序数 22.求车速 23.阿姆斯特朗数 24.完全数 26.亲密数 27.自守数 28.回文数 29.求具有abcd=(ab+c

最经典的SDK程序结构 HelloWin

程序运行效果:在创建窗口的时候,播放一个声音.且在窗口的客户区中央画一句文字:Hello, Windows 98!,无论程序怎么移动.最大化,文字始终在程序的中央部位. 程序总共分为六个步骤:定义,注册,创建,显示,刷新,消息循环.其中定义部分还包括一个窗口回调函数WndProc. /*------------------------------------------------------------ HELLOWIN.C -- Displays "Hello, Windows 98!&qu

[转]100个经典C语言程序

本文转载自:http://blog.sina.com.cn/s/articlelist_1615065844_0_1.html 1.绘制余弦曲线 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线*问题分析与算法设计如果在程序中使用数组,这个问题十分简单.但若规定不能使用数组,问题就变得不容易了. 关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行. 为了获得本文要求的图形就必须在一行

经典EXCEL导入程序

*&********************************************************************* *&程序名称 ZSDG088 *&程序说明 *&所属模块 SD ********************************************************************** *&修改日志 *&序 修改时间 修改人 请求号 修改说明 *001 **********************

经典指针表达式程序 -- 简版find指令实现

#include <stdio.h>#include <string.h>#define MAXLINE 1000int getline(char *line, int max);/* find: print lines that match pattern from 1st arg */main(int argc, char *argv[]){    char line[MAXLINE];    long lineno = 0;    int c, except = 0, num

5,一道经典的微软程序题

一.题目描述 In the main() function, after ModifyString(text) is called, what’s the value of ‘text’? 1 int FindSubString( char* pch ) 2 { 3 int count = 0; 4 char * p1 = pch; 5 while ( *p1 != '\0' ) 6 { 7 if ( *p1 == p1[1] - 1 ) 8 { 9 p1++; 10 count++; 11 }

经典递归小程序--汉诺塔

#include <stdio.h> /* 思路:1.将1到n-1号盘子借助C移到B上 2.将n号盘子移到C上 3.将1到n-1号盘子借助A移到C上 */ //初始化步数 int i = 0; void move(int,char,char); void hannuota(int,char,char,char); void main(void){ int n; printf("请输入汉诺塔盘子的个数:"); scanf("%d",&n); han

泰戈尔经典诗集(程序员也需要情操)

闲暇之余,读一下优美富有哲理的诗句也是很美的- 1. 只有经历过地狱般的磨砺,才能练就创造天堂的力量: 只有流过血的手指,才能弹出世间的绝响. ——泰戈尔 <飞鸟集> 2. 世界以痛吻我,要我报之以歌. ——泰戈尔 <飞鸟集> 3. 我们把世界看错,反说它欺骗了我们. ——泰戈尔 <飞鸟集> 4. 你微微地笑着,不同我说什么话.而我觉得,为了这个,我已等待得很久了. ——泰戈尔 <飞鸟集> 5. We read the world wrong and say