代码:
/*
C语言第十四例
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。
(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
*/
#include
void main(void)
{
int a,b;
printf("请输入一个数:");
scanf("%d",&a);
printf("%d=",a);
for(b=2;b<=a;b++) //这个表示从2开始又有最大数限制
{
while(a%b==0) //如果被2整除,则执行
{
printf("%d",b);
a=a/b;
if(a!=1)
{
printf("*");
}
}
}
}
运行结果:
关键字:C语言
引用地址:
C语言一百例第十四例
推荐阅读最新更新时间:2024-11-12 16:38
51单片机自学笔记(二)——C语言基础知识
进制转换(二进制、十进制、十六进制) 二进制:二进制是计算机/单片机中常用的一种数制,二进制用0和1两个数码来表示数,进位规则是逢二进一,借一当二。 十进制:我们生活中常用的就是十进制,十进制用0~9十个数码来表示数,进位规则是逢十进一,借一当十。 十六进制:十六进制也是计算机/单片机中常用的一种数制,它由0~9和A—F组成,字母不区分大小写。与十进制对应的关系是:0—9对应0—9;A—F对应10—15;进位规则是逢十六进一,借一当十六。 C语言的特点 (1)语言简洁、紧凑、使用灵活; (2)运算符丰富; (3)具有数据类型构造能力; (4)具有很强的流程控制结构; (5)语言生成的代码质量高; (6)可移植性较好;
[单片机]
TQ210天嵌开发板S5PV210 LED闪烁程序C语言代码记录
之前也学习过LDE闪烁程序,一般通过如下方式实现: 主要思想是通过操作寄存器地址的方式操作寄存器,这种实现方式的优点就是简单容易理解,但是具有一定的局限性,一般在较大的工程中不会这样实现,因为通过直接操作地址的方式实现,必定会频繁查询数据手册,查询相应寄存器地址,还有就是程序中会出现大量地址,可读性差不利于程序移植和优化。 通过学习,了解了一种通用的程序设计方式,特此记录 先说下大概思想: 1)引入GPIO基地址概念,建立GPIO结构体,这样每一个GPIO都可以通过”基地址+偏移地址“的思想查找到,避免了频繁操作地址的弊端。 2)位操作思想,不能为了实现某一个功能,影响其他功能,因此位操作的实现方式成为了程序设计中
[单片机]
msp430的一些常用的C语言控制程序---ZLG7289
/**********************************************************/ //MSP430高级实验开发组件 - ZLG7289键盘显示组件示例程序 //时钟设置: ////ACLK=N/A,MCLK=SMCLK=default(DCO~800k) //硬件连接: //// MSP430 Broad ZLG7289 Broad //// ------------------ ------------------ //// | VCC | ------ | VCC | //// | P65 | ------ | CS
[单片机]
1602液晶显示C语言编写
先声明这个程序不是本人写的,是郭天翔51视频教程里的程序,原来开始学单片机的时候用过,完全可行的。 #include reg52.h #define uchar unsigned char #define uint unsigned int sbit lcden=P3^7; sbit led=P3^6; sbit lcdrs=P3^5; uchar num; uchar code table = I LIKE MCU! ; void delay(uint i) { uchar j; for(;i 0;i--) for(j=110;j 0;j--
[单片机]
stc单片机读片外扩展RAM,内部R/C时钟及ID号C语言程序
#include reg51.h #include intrins.h sfr IAP_CONTR = 0xC7; sbit MCU_Start_LED = P1^7; //unsigned char self_command_array = {0x22,0x33,0x44,0x55}; #define Self_Define_ISP_Download_Command 0x22 //#define RELOAD_COUNT 0xfb //18.432MHz,12T,SMOD=0,9600bps #define RELOAD_COUNT 0xfd //11.0592MHz,12T,SMOD=0,9600bps voi
[单片机]
C语言可变参数函数的使用方法讲解
本文主要介绍可变参数的函数使用,然后分析它的原理,程序员自己如何对它们实现和封装,最后是可能会出现的问题和避免措施。 VA函数(variable argument function),参数个数可变函数,又称可变参数函数。C/C++编程中,系统提供给编程人员的va函数很少。*printf()/*scanf()系列函数,用于输入输出时格式化字符串;exec*()系列函数,用于在程序中执行外部文件(main(int argc,char*argv 算不算呢,与其说main()也是一个可变参数函数,倒不如说它是exec*()经过封装后的具备特殊功能和意义的函数,至少在原理这一级上有 很多相似之处)。由于参数个数的不确定,使va函数具
[单片机]
学习uip代码分析时遇到的c语言问题
在进一步看uip的代码时,遇到了一个问题,可能是自己C语言知识不够扎实,特此总结一下 以下是http协议处理输入数据并更新页面显示的代码 static PT_THREAD(handle_input(struct httpd_state *s)) { char *strx; u8 dbuf ; PSOCK_BEGIN(&s- sin); PSOCK_READTO(&s- sin, ISO_space); if(strncmp(s- inputbuf, http_get, 4)!=0)PSOCK_CLOSE_EXIT(&s- sin); //比较客户端浏览器输入的指令是否是申请WEB指令 GET PSOCK_REA
[单片机]
数码管显示数字 5 C语言程序设计
//用LED数码显示数字5 #include reg51.h // 包含51单片机寄存器定义的头文件 void main(void) { while(1){ P2=0x7f; //P2.0引脚输出低电平,数码显示器接通电源准备点亮 P0=0x92; //让P0口输出数字 5 的段码92H } }
[单片机]