❶ c語言中如何將變數123.4的個位、十位、百位、小數位分別取出來
用sprintf函數或itoa函數把它變成字元串去處理
例如:
#include <stdio.h>
#include <conio.h>
void main()
{
double x = 123.4;
char n[11];
sprintf(n,"%lf",x);
printf("%s\n",n);
}
很多分離數位的問題轉換成字元串要很好處理。
比如說
1:判斷一個書是否是迴文數。把這個數變成字元串就很好處理。
2:處理大整數問題,因為C中的整型,長整型等數都有存儲范圍,所以不能處理大整數的問題,這時就需要用到字元串了。你可以嘗試的編一下大整數的加減乘除的函數,如果編不出來,可以問我:)
再給你看道簡單的典型題吧:
求數字的乘積根。
定義:正整數中的非0數字的乘積稱為該數字的成績。如1620的數字成績為1*6*2=12,12的數字乘積為1*2=2;
定義:正整數的數字乘積根為反復取該整數的數字乘積,直到最後的數字乘積為一個數字,這個一位數字就叫該正整數的數字乘積根。
例如:1620的數字乘積為1*6*2=12,12的數字乘積為1*2=2,因此2為1620的數字乘積根。
編程要求:統計10000以內,其數字乘積根分別為1~9的正整數的個數。
你最好自己先做一下,我這里有我編好的代碼,如果需要,我可以給你做個參考,在此就不先發布了:)
❷ 請師兄講下C語言中怎麼分解得到萬位,千位, 百位,十位,個位的。
你好!
這不簡單嘛,我給你舉個例子好了,比如X=12345;
x/10000=1.2345,但是這里的a肯定是整數類型,所以就會自動舍掉後面的小數,因此a=1;
x%10000=23456;
//"%"是取余運算符.就是X/10000的余數.
然後(X%10000)/1000,就是2345/1000=2.345,其中b是整數,座椅自動舍掉小數,成了b=2.
再往下,道理是一樣的.
僅代表個人觀點,不喜勿噴,謝謝。
❸ C語言中 將一個3位數整數,正確分離出它的個位、十位和百位數字,並分別在屏幕上輸出
3位數整數正確分離的屏幕上輸出源代碼如下:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
char a[10];
gets(a);
int l=strlen(a);
for(int i=l-1;i>=0;i--)
{
cout<<a[i]<<" ";
}
return 0;
}
(3)c語言用什麼辦法分離出百位擴展閱讀
C語言程序結構的特點
1、一個程序有一個或多個源程序文件組成。
在一個源程序文件中可以包含三個部分:預處理指令、全局聲明、函數定義。
2、函數是C程序的主要組成部分。
一個C語言程序有一個或多個函數組成,其中必須包含一個main函數(且只能有一個main函數),編寫C程序的工作主要就是編寫一個個函數。
3、函數體即函數首部花括弧內的部分。包括聲明部分和執行部分,聲明部分包括定義在本函數中所用到的變數,執行部分由若干個語句組成,指定在函數中所進行的操作。
❹ c語言 求百位的方法
這兩種演算法都對的
第一種是先對1000取余,剩下百位和十位及個位,再對100取整就得到百位了。
第二種是先對100取整
,就會得到a[i]的百位及以上的位數,那麼結果a[i]/100里的個位就就是原來的a[i]的百位,再用a[i]/100對10取余,就得到a[i]/100個位數字,也即是原來的a[i]的百位數字。
c語言的演算法是很靈活的,很多都有多種演算法。
❺ 分離一個百位數,把這個百位數的數字從大到小排 如237 排好後為732 要用C語言編
#include<stdio.h>
void main()
{
printf("請輸入一個三位數:");
int a,b,c,d,e;
scanf("%d",&a);
b=a/100; //百位數
c=a%10; //個位數
d=a/10%10;//十位數
a=c*100+d*10+b;
printf("變換後三位數是:%d",a);
}
已調試通過,不懂hi我
❻ 初學c語言...請問只輸入一個多位數,如何把個位、十位、百位等分開輸出
這個代碼的功能可以將所輸入的數分解,並且根據提示可以輸出你想輸出位的數字,比如,你想輸出個位上的數字
按q為退出程序
#include"stdio.h"
#defineN10
main()
{
longn,i,a[N],k=0;
charch;
printf("請輸入任意數: ");
scanf("%d",&n);
for(i=n;i>0;i/=10)
{
a[k++]=i%10;
}
for(i=k-1;i>=0;i--)
printf("%d",a[i]);
printf(" ");
do
{
printf("請選擇要輸出位:(0代表個位,1代表十位,...) ");
scanf("%d",&i);
if(i>=0&&i<k)
printf("%d ",a[i]);
else
printf("輸入錯誤! ");
}while((ch=getch())!='q');
}
如果對你有所幫助,請記得採納最佳答案,謝謝!
❼ c語言 求百位的方法
這兩種演算法都對的
第一種是先對1000取余,剩下百位和十位及個位,再對100取整就得到百位了。
第二種是先對100取整 ,就會得到a[i]的百位及以上的位數,那麼結果a[i]/100里的個位就就是原來的a[i]的百位,再用a[i]/100對10取余,就得到a[i]/100個位數字,也即是原來的a[i]的百位數字。
c語言的演算法是很靈活的,很多都有多種演算法。
❽ C語言怎樣提取一個數的十位個位百位千位
設一個數為n,則在C語言中其個位、十位、百位、千位依次這樣計算:n/1%10,n/10%10,n/100%10,n/1000%10
代碼如下:
#include<stdio.h>
int main(){
int n = 123456;
int unitPlace = n / 1 % 10;
int tenPlace = n / 10 % 10;
int hundredPlace = n / 100 % 10;
int thousandPlace = n / 1000 % 10;
printf("個位:%d 十位:%d 百位:%d 千位:%d ", unitPlace, tenPlace, hundredPlace, thousandPlace);
getchar();
return 0;
}
運行結果如圖:
(8)c語言用什麼辦法分離出百位擴展閱讀
C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
❾ 幫忙編一下C程序:把三位數的個,百,十位分離出來
int n;
int a,b ,c;
a=n/100;//百位
b=n%100/10;//十位
c=n%100%10;//個位
❿ 求用C語言分離出它的個位、十位和百位數字的例題
呵呵。這個問題本菜鳥回答的了啊:
#include<stdio.h>
void main()
{
unsigned int n;
int a[5],i=0;/*存放的各個位數*/
printf("input a number");
scanf("%d",&n);
while(n!=0)/*主要是在這里,*/
{
a[i++]=n%10;/*,用取余的方法取出各位,*/
n/=10;/*然後除以十,繼續循環取余,知道n=0,即取完了。就行了*/
}
for(i--;i>=0;i--)/*這樣等於倒序輸出,依次輸出的是個,十,百……*/
printf("%d ",a[i]);
getch();
}/*樓主是新手吧,這是是在win-tc上運行成功的。你試試。*/