本文目录一览:
如何用C语言拆分整数?
将一个整数的各个位分离出来的最简单方法就是模10,取个位数,直到该变为0。
参考代码:
#include stdio.h
void main()
{
int n=0;
scanf("%d", n );
do {
printf("%d\n", n%10 ); //每次输出个位
n/=10 ; //缩小10倍,去除原来的个位。
}while(n);
}
但这整拆分的特点是从后向前输出每一位数。
如果仅是为了输出,还想正向输出每一位数,则可用递归函数来解决。(也可以实现逆向输出)
参考代码:
#include stdio.h
void split_int( int n )
{
if ( n0 )
{
//printf("%d\n", n%10 );//逆向输出,放开这里,关闭下面的printf().即:先输出当前个位,再去高位的数
split_int( n/10 );//先去输出高位的数
printf("%d\n", n%10 ); //再输出当前的个位数
}
}
void main()
{
int n;
scanf("%d", n);
split_int(n);
}
如果想把分离开的数据存储到数组中,则最简单的方法是将整数用sprintf()存储到字符数组中,然后,遍历数组,逐位取出。
参考代码:
#include stdio.h
void main()
{
int n,i;
char str[20];
scanf("%d", n);
sprintf(str,"%d", n);
for( i=0;str[i];i++ ) //正向输出
printf("%c\n", str[i] );
for( i--;i=0;i-- ) //逆向输出
printf("%c\n", str[i] );
}
C语言 因式分解
#includestdio.h
#includestdlib.h
#includestring.h
unsigned int m=2;
unsigned int cnt=1;
void Factor(int n, char *msg, char printYes);
int main()
{
char s[100]={0};
char flag='y';
printf("------求整数的因式分解------\n请输入正整数m(1):");
scanf("%u", m);
printf("打印详细分解情况吗?[y|n,回车打印]");
scanf("%*c%c",flag);
if(m1)
{
printf("error input!\n");
exit(-1);
}
if(flag!='n')
printf("%d = %d \n", m,m);
Factor(m, s,flag);
if(cnt==1)
printf("\n%d是素数\n",m);
printf("\n------");
printf("一共有%d种", cnt);
printf("------\n");
return 0;
}
void Factor(int n, char *msg,char printYes)
{
char s2[100]={0};//保存当前分解的部分结果
if(n==1)
return ;
for(int i=2;in;i++)
{
if (n%i==0)
{
if(n==m)
sprintf(msg, "%d = ", m);
sprintf(s2,"%s %d * ",msg, i);//因式分解部分结果保存在字符串s2中
if(printYes!='n')
printf("%s %d\n",s2,n/i);//打印结果(包括最后一个因子)
Factor(n/i,s2,printYes);
cnt++;
}
}
}
C语言分解质因数
#include stdio.h
int main(){
int n; // 用户输入的整数
int i; // 循环标志
printf("输入一个整数:");
scanf("%d",n);
printf("%d=",n);
// n=2才执行下面的循环
for(i=2; i=n; i++){
while(n!=i){
if(n%i==0){
printf("%d*",i);
n=n/i;
}else
break;
}
}
printf("%d\n",n);
return 0;
}
将一个正整数分解质因数。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
1、如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
2、如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
3、如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。
C语言
C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。
C语言中怎样分解5位数? C语言分解数字教程
1、具体步骤如下:假设这个数是x,写出来的形式是abced(a是万位,b是千位,c是百位数等等)
2、a=x整除10000
3、b=(x-a*10000)整除1000
4、c=(x-a*10000-b*1000)整除100
c语言将一个正整数分解质因数,望高手帮我详细解释一下程序?
1、首先打开vc6.0, 新建一个vc项目,添加头文件。
2、添加main主函数,如下图所示。
3、然后定义 n, i 两个变量,如下图所示。
4、接着使用scanf给n赋值,使用for循环。
5、然后用while作为内层循环,使用printf打印i。
6、最后使用if条件语句,运行程序,如下图所示,正整数分解为质因子就完成了。