線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:855
推到 Plurk!
推到 Facebook!

請問輸出的數字要有空格要怎麼做呢?

尚未結案
tai1688
一般會員


發表:9
回覆:12
積分:4
註冊:2005-03-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-11 02:36:21 IP:24.205.xxx.xxx 未訂閱
#include
#include
#define ARR 50
int main()
{
    int counter,i,c;
    double arr[ARR],sum,value;
    char out_str[10]="%.";
        counter=0;
        sum=0.0;
        printf("Please enter value (-1 to quit):");
        scanf("%lf",&value);
        while(value!=-1)
        {
                arr[counter]=value;
                printf("Please enter value (-1 to quit):");
                scanf("%lf",&value);
                sum =value;
                counter  ;
                
        }
        printf("How many digits after decimal place ?=>");
        scanf("%s",&out_str[2]);
        strcat(&out_str[2],"lf");
        printf("\n%d values were entered\n",counter);
        printf("These values are:\n");
        i=0;
        while (i
Output:
Please enter value (-1 to quit):12.3
Please enter value (-1 to quit):23.3
Please enter value (-1 to quit):34.4
Please enter value (-1 to quit):35.5
Please enter value (-1 to quit):56.7
Please enter value (-1 to quit):45.7
Please enter value (-1 to quit):34.6
Please enter value (-1 to quit):23.5
Please enter value (-1 to quit):-1
How many digits after decimal place ?=>3    8 values were entered
These values are:
12.30023.30034.40035.50056.70045.700
34.60023.500請按任意鍵繼續 . . .    他的問題就是輸出的數字都都沒空格,我希望各個輸出的數字要有空格,但我又要保留(How many digits after decimal place ?=>)這個功能該怎ㄇ改呢?~求助各位大大幫忙了感激不盡~^^
    
        
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-11 03:02:13 IP:203.204.xxx.xxx 未訂閱
您好: 12.30023.30034.40035.50056.70045.700 34.60023.500請按任意鍵繼續 . . . 您是說這裡的數字要空格嗎?如果是的話 把這行printf(out_str,arr[i]);改成下面這樣. printf("%d ",out_str,arr[i]);
tai1688
一般會員


發表:9
回覆:12
積分:4
註冊:2005-03-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-11 03:30:47 IP:24.205.xxx.xxx 未訂閱
這位大大這樣雖然會空格但他都變成不同的數字了說~ 我要他輸出為 12.300 23.300 34.400 35.500 56.700 45.700 34.600 23.500
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-11 08:22:34 IP:203.204.xxx.xxx 未訂閱
沒注意看到還有一個變數@@ 把這行printf(out_str,arr[i]);改成下面這樣. printf("%c%d ",out_str,arr[i]); 發表人 - supman 於 2005/04/11 08:31:21
arisaka_matsuri
高階會員


發表:25
回覆:205
積分:231
註冊:2003-10-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-11 09:05:59 IP:140.113.xxx.xxx 未訂閱
dear tai1688: 可以用sprintf產生需要的輸出格式字串(out_str),再交由printf輸出:
char out_str[10];
int  digit;    printf("How many digits after decimal place ?=>");
scanf("%d", &digit);    sprintf(out_str, "%%.ß ", digit);
digit = 3, 則out_str會是 %.3f_ (underbar表示space)
顯示就按照你的方式即可
printf(out_str, arr[i]);
hdilwy
初階會員


發表:18
回覆:65
積分:41
註冊:2004-08-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-12 07:17:51 IP:140.128.xxx.xxx 未訂閱
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcstdlib/html/vclrf_iomanip_Setw.asp 希望這個可以滿足你的要求; 另外下面的code是我測試的 你可以試試
#include 
#pragma hdrstop
#include 
#include 
#include 
//---------------------------------------------------------------------------    #pragma argsused
int main()
{
        cout << setw(20)<<123456<     
        
系統時間:2024-05-19 13:33:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!