頂一下我也想知道……
公司主營業(yè)務(wù):成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出金華免費(fèi)做網(wǎng)站回饋大家。
但是我這也有一種方法,但是不知道你做得來否
我想說的方法就是:把數(shù)值串的改成數(shù)組比如:a[n],b[n],c[n],n表示小數(shù)的位數(shù),這樣a[1]-a[n]就表示出這個(gè)小數(shù)各個(gè)位數(shù)代表的數(shù)
然后,就是模擬計(jì)算原理,用循環(huán)或者while語句,從最底位開始相乘,給程序設(shè)置進(jìn)位函數(shù),判斷出每次相乘該向上一級(jí)加上的數(shù)值并把這次得到這這個(gè)相應(yīng)的第n位的值給新的x[n],然后一級(jí)一級(jí)往上推~~~算出最后x[1]-x[n],再最后整合一下這組數(shù)最后整理成數(shù)字,但是也許沒辦法輸出,因?yàn)樾?shù)位太長,最后可能還是的用字符一個(gè)一個(gè)輸出
如果是用字符輸出就更容易了,直接把x[1]-x[n]輸出就可以(x數(shù)組表示的是小數(shù)位的,整數(shù)位的還得設(shè)置個(gè)新的,比如x[0]),比如你這次輸出的結(jié)果應(yīng)該就是x[0].x[1]x[2]x[3]……x[n],
呵呵~不知道你理解我的意思沒有~感覺我也是菜鳥很高興和探討這問題
int a,b,c,n;
scanf("%d",n);
個(gè)位數(shù)a=n%10
十位數(shù)b=(n-a)%100
百位數(shù)c=(n-a-b)%1000
c語言有個(gè)運(yùn)算符號(hào)是%,就是求取兩個(gè)數(shù)相除之后的余數(shù)。如果x%10的運(yùn)算就是求取x的十進(jìn)制個(gè)位數(shù),利用這點(diǎn)可以提取數(shù)位,只是提取的順序是反向的,是從最低位到最高位順序:
#includestdio.h
void?main()?{?int?x;
scanf("%d",x);?while?(?x?)?{?printf("%d?",x%10);?x/=10;?}?printf("\n");
}
#include stdio.h
#include "math.h"
void main()
{
int num, n;
printf ("請(qǐng)輸入一個(gè)數(shù)字:");
scanf ("%d", num);
do
{
printf ("請(qǐng)輸入位置(小于等于位數(shù)):");
scanf ("%d", n);
}while (!(num / pow(10, n)));
printf ("第%d位的數(shù)字為%d\n", n, num % pow(10, n) / pow(10, n - 1));
}