A. c语言如何拆分数字

小弟有这么一种做法,我觉得这个比较快一点。写得不是很好,你看版下先啦!

#include<stdio.h>
#include<string.h>
#include<windows.h>
int main()
{
char a[30];
int i,l;
printf("请输入权一整型数字:");
gets(a);
printf("数字拆分如下:\n");
l=strlen(a);
for(i=0;i<l;i++)
printf("%d ",a[i]-'0');//将数字字符转为数字值
printf("\n");
}

你看一下,还可以的话,麻烦你点赞我,Thank you。

B. c语言 求整数位分解

|

#include<stdio.h>
voidsplit(inta){
//输出来百位源
printf("%d",a/100);
printf("");

//输出十位
printf("%d",(a%100)/10);
printf("");

//输出个位
printf("%d",a%10);


}
intmain(){
inta;
scanf("%d",&a);
//判断输入数字的合法性。
if(a<100||a>999){
printf("errornumber!");
return0;
}
//数字分割
split(a);
return0;
}

C. c语言将一个正整数分解质因数,望高手帮我详细解释一下程序

代码

#include <stdio.h>

void main()

{

int n,i;

printf("请输入一个正整数");

scanf("%d",&n);

printf("%d=",n);

for( i = 2;i <= n;i++)

{

while(n!=i)

{

if(n%i==0)

{

printf("%d*",i);

n=n/i;

}

else

break;

}

}

printf("%d ",n);

}

方法二、

(3)c语言整数分解扩展阅读:

scanf用法:

输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。

scanf("%s",s);改为scanf("%s",&s);

scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);

格式控制字符串包含:格式控制说明,普通字符。

1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)

2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d "中的fahr=,celsius=。

3、输入的参数是变量的地址,所以要在变量前面加&。

D. c语言如何将一个正整数分解成质因数

#include<stdio.h>

voidmain()
{
inta,n;
scanf("%d",&n);
printf("n=");
for(a=2;a<=n;a++)
if(n%a==0)
{n/=a;
printf("%d",a);
printf("*");
a=1;}
}

输入编码即可。

E. 如何用C语言拆分整数

将一个整数的各个位分离出来的最简单方法就是模10,取个位数,直到该变为0。

参考代码:

#include<stdio.h>
voidmain()
{
intn=0;
scanf("%d",&n);
do{
printf("%d ",n%10);//每次输出个位
n/=10;//缩小10倍,去除原来的个位。
}while(n);
}

但这整拆分的特点是从后向前输出每一位数。

如果仅是为了输出,还想正向输出每一位数,则可用递归函数来解决。(也可以实现逆向输出)

参考代码:

#include<stdio.h>
voidsplit_int(intn)
{
if(n>0)
{
//printf("%d ",n%10);//逆向输出,放开这里,关闭下面的printf().即:先输出当前个位,再去高位的数
split_int(n/10);//先去输出高位的数
printf("%d ",n%10);//再输出当前的个位数
}
}
voidmain()
{
intn;
scanf("%d",&n);
split_int(n);
}

如果想把分离开的数据存储到数组中,则最简单的方法是将整数用sprintf()存储到字符数组中,然后,遍历数组,逐位取出。

参考代码:

#include<stdio.h>
voidmain()
{
intn,i;
charstr[20];
scanf("%d",&n);
sprintf(str,"%d",n);
for(i=0;str[i];i++)//正向输出
printf("%c ",str[i]);
for(i--;i>=0;i--)//逆向输出
printf("%c ",str[i]);
}

F. c语言如何拆分数字

小弟有这么一种做法,我觉得这个比较快一点。写得不是很好,你看下先啦!

#include<stdio.h>
#include<string.h>
#include<windows.h>
int main()
{
char a[30];
int i,l;
printf("请输入专一整型数字:");
gets(a);
printf("数字拆分如下属:\n");
l=strlen(a);
for(i=0;i<l;i++)
printf("%d ",a[i]-'0');//将数字字符转为数字值
printf("\n");
}

你看一下,还可以的话,麻烦你点赞我,Thank you。

G. 将一个整数分解成几个连续整数的和C语言做法

#include <stdio.h>
int main(void)
{
int n;
scanf("%d", &n);// 输入
printf("\n\n%d=\n", n);
for(int n1=1; n1<=n/2; n1++)// n1为等差数列第一项
{

for(int n2=n1+1; n2<n; n2++)// n2为等差数列最后一项
{
if((n1+n2)*(n2-n1+1) == n*2)// 用等差数列公式算和
{
//如果相等就输出结果
for(int t=n1; t<n2; t++)
{
printf("%d+", t);
}
printf("%d\n", t);
}
}
}
return 0;
}

vc6下编译通过。

H. 关于C语言用递归拆分整数

题目中要求如何对整数拆分呢?

这个是有递推公式的:
(1)比较容易理解,把m个数划分为 0<=k<=m个数的和,就是
1. 分k = m次,此时只有一种方法

2.分k <m次,此时的结果是 Chai(m, n-1);

(2)我借鉴了下面博客中的说法。
对于m >n的问题,可以看做把m个苹果放到n个盘子上,有多少种分发。然后把这个问题分为两个部分:
1.分完之后,个数最少的盘子中的苹果数为0.
2.分完之后,个数最少的盘子中的苹果数不为0.
然后
1.就对应着,让其中的一个盘子为空,其他的就转化为把m个苹果放在n-1个盘子问题,也就是Chai(m, n-1)
2.也就是对这个,先在n个盘子上都放一个(保证他们都不为空),然后其他的就转化为,在n个盘子上,放m-n个苹果的问题:Chai(m-n, n);

http://blog.csdn.net/clearriver/article/details/4604247

I. c语言数字拆分

1、直接以字符串的形式读入数据,然后以字符数组的形式挨个拆分每位数字即可。
2、例专程:
#include
#include
int main()
{
char a[30];
int i,l;
printf("请输入一属整型数字:");
gets(a);
printf("数字拆分如下:\n");
l=strlen(a);
for(i=0;i
评论
0
0
0
加载更多

J. C语言如何把一个数分解

#include<stdio.h> void f(int x) { while(x) { printf("%d ",x%10); x=x/10; } } void main() { f(568); } 这是逆序输出,要顺序输出 用一个数组回保存再输出就行了答