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;
}