真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

整數(shù)/小數(shù)以字符串形式輸出

1、問題描述

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(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)站回饋大家。

  (1)、現(xiàn)在從鍵盤輸入一個(gè)整數(shù)(以%d格式符輸入),要求以裝換成字符串的形式輸出;

  (2)、現(xiàn)在從鍵盤輸入一個(gè)小數(shù)和小數(shù)位數(shù)(%lf%d),要求以字符串的形式輸出;

  這2個(gè)問題本身并不難,但是考慮全面和從算法上的優(yōu)化確實(shí)不容易的,需要仔細(xì)認(rèn)真的考慮!

2、用C實(shí)現(xiàn)

在VC下面用的VC++6.0版本實(shí)現(xiàn)

#include

void printfInt(int data);
void printfDouble(double data, int count);

void printfDouble(double data, int count){
    int d = (int)data;
    double x = data - d;
    int i, tmp;
    int p = 1;

    printfInt(d);
    printf(".");
    for(i = 0; i < count; i++){
            p *= 10;
    }
    tmp = (int)(p*x+0.5);//在強(qiáng)轉(zhuǎn)時(shí),由于有截?cái)嗾`差,所以加上0.5,保證了小數(shù)點(diǎn)最后一位的取值是正確的。
	printfInt(tmp);
}

void printfInt(int data){
    int q = 1;

    if(data > 1000000000){
            q = 1000000000;
    }else if(data > 100000000){
            q = 100000000;
    }else if(data > 10000000){
            q = 10000000;
    }else if(data > 1000000){
            q = 1000000;
    }else if(data > 100000){
            q = 100000;
    }else if(data > 10000){
            q = 10000;
    }else if(data > 1000){
            q = 1000;
    }else if(data > 100){
            q = 100;
    }else if(data > 10){
            q = 10;
    }

    for(; q; q /= 10){
            printf("%c", '0' + (data/q)%10);
    }
}

int main(void){
    int number;
    double x_number;
    int bit;

    printf("請(qǐng)輸入一個(gè)整數(shù) : ");
    scanf("%d", &number);
    printf("請(qǐng)輸入小數(shù),和小數(shù)位數(shù) : ");
    scanf("%lf%d", &x_number, &bit);

    printfInt(number);
	printf("\n");
    printfDouble(x_number, bit);
	printf("\n");
}

運(yùn)行結(jié)果

整數(shù)/小數(shù)以字符串形式輸出

3、算法分析

  (1)、我用的是if...else if...else if來判斷這個(gè)數(shù)是幾位數(shù),因?yàn)橛眠@個(gè)數(shù)每次/=10也可以判斷是幾位數(shù),但是效率比較低,用if判斷的方法最多10次,就可以知道是幾位數(shù)字。

  (2)、其次,我知道了是幾位數(shù),就可以讓(data/q)%10,data不變,讓q/=10,在循環(huán)中每次調(diào)用這個(gè)語句,就可以從最高位--->最低位順序取出,再加上'0',就轉(zhuǎn)換為一個(gè)一個(gè)的字符了,輸出即可。


本文標(biāo)題:整數(shù)/小數(shù)以字符串形式輸出
轉(zhuǎn)載來于:http://weahome.cn/article/jpijjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部