c语言拆数字
⑴ c语言数字切割
c语言拆分数运算
从键盘上输入一个4位数的整数n,编写程序将其拆分为两个2位数的整数a和b,计算并输出拆分后的两个数的加、减、乘、除和求余运算的结果。例如n=-4321,设拆分后的两个整数为a,b,则a=-43,b=-21。除法运算结果要求精确到小数点后2位,数据类型为float。求余和除法运算需要考虑除数为0的情况,即如果拆分后b=0,则输出提示信息"Thesecondoperateriszero!"
输入提示信息:"Pleaseinputn: "
输入格式:"%d"
输出格式:
拆分后的两个整数的输出格式:"%d,%d "
加法、减法、乘法的输出格式:"sum=%d,sub=%d,multi=%d "
除法和求余的输出格式:"dev=%.2f,mod=%d "
除数为0的提示信息:"Thesecondoperatoriszero! "
#include<stdio.h>
intmain(void)
{
intinput_number,separate_number_a,separate_number_b;
printf("Pleaseinput(4digit)Numbern: ");
scanf("%d",&input_number);
separate_number_b=input_number%100;
separate_number_a=input_number/100;
printf("Theseparatenumberare:%d,%d ",separate_number_a,separate_number_b);
printf("sum=%d,sub=%d,multi=%d ",separate_number_a+separate_number_b,separate_number_a-separate_number_b,separate_number_a*separate_number_b);
if(separate_number_b==0)
printf("Thesecondoperatoriszero! ");
else
printf("dev=%.2f,mod=%d ",(float)separate_number_a/separate_number_b,separate_number_a%separate_number_b);
return0;
}
⑵ 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。
⑶ C语言怎么拆分一个数字输入123,使A=1B=2C=3
#include<stdio.h>
#include<math.h>
void main()
{
int a,b,c,n;
double d;
printf("输入一个三位数\n");
scanf("%d",&n);
a=n/100;//百位
b=(n%100)/10;//十位
c=n%10;//个位
d=pow(a,3);//pow()是一个函数,包含于math.h文件中,此处是求内a的3次方
//pow(m,n)用法如下,m是幂容,n是指数,运算出来的结果是double类型
printf("a=%d,b=%d,c=%d\n",a,b,c);
printf("a的三次方是%f\n",d);
}
⑷ C语言中,怎么分离正整数的各位数字
简单来说就是:
用你用的数字除10求出余数 ,那个余数就是个位数,然后求商代表没有个位数的数,然后重复做重复性操作
所以程序如下:
c是输入的数
do
printf("%d
",c%10); //输出余数
c=c/10; //求商
while(c!=0); //c不等于0代表没有输出结束。
⑸ C语言怎么拆分一个数字
现在的计数法是位置计数法,直接除以其位权即可。
比如 1234
个位=1234取余10
十位=1234缩小十部再取余10等同于它缩小10倍再取个位
百位....
依次类推。
⑹ 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
加载更多
⑺ 如何用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]);
}
⑻ 关于C语言数字拆分的问题
最简单的方式方式:
#include"stdio.h"
void main()
{
int i,n[8];
char num[9];
printf("Input Number:");
gets(num); //gets() 字符串接受 这时候 num[0]等 于你第一个输入的数 num[1]等于第二个...(依此类推)
printf("These is you have putted in :")
for(i=0;i<8;i++)
{
n[i]=(int)num[i];
printf("%d",n[i]);
}
}
你的方式改正后:
#include<stdio.h>
void main()
{
long int a;
int b,i;
int in[8];
scanf("%ld",&a);
for(i=7;i=>0;i--)
{
b=a%10;
a=(a-b)/10;
in[i]=b;
}
for(i=0;i<8;i++)
{
printf("%d ",in[i]);
}
}
//此方法比较麻烦的方式
⑼ C语言 如何将一个数字 有条件的拆开
按照题目要求编写的C语言程序如下,(我们假设专a,b,c,y都为正整数属)
#include<stdio.h>
intmain()
{
inta,b,c,y;
printf("y=");
scanf("%d",&y);
for(a=0;a<=y/2;a++){
for(b=0;b<=y/4;b++)
{
for(c=0;c<=y/5;c++){
if(a*2+b*4+c*5==y){
printf("a=%d,b=%d,c=%d ",a,b,c);
}
}
}
}
return0;
}
⑽ C语言中关于拆解出各位的数字问题
#include <stdio.h>
int main(void)
{
char s[7];
int k;
void split(int,char *);
printf("Please input a Integer( Range:-32768 to 32767 ):");
scanf("%d",&k);
split(k,s);
printf("%s\n",s);
return 0;
}
void split(int t,char *ps)
{
int i;
char *q=ps,tmp;
if (t>0)
*ps++='+';
if (t<0)
{
*ps++='-';
t=-t;
}
/*------------Found Mistake Below------------*/
while(t/10!=0)
{
i=t/10;
*ps++=t-i*10+'0';
t=i;
}
*ps++='0'+t;
*ps='\0';
/*------------Found Mistake Below------------*/
for(q++,ps--;q<ps;q++,ps--)
tmp=*q,*q=*ps,*ps=tmp;
}