• ベストアンサー

表示方法

C言語で、数値を出力するときに int d = 4; printf("%\n",d); ってやると 4 って表示されるんですけど、 4 じゃなくて、 0004とか0123みたいな 使われない桁も0として表示するにはどうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • smat7
  • ベストアンサー率46% (7/15)
回答No.2

変数が整数ですので小数点は不要ですね。書式記述子は "%04d\n" と桁数指定の前に0をかけばOKです

jon-td-deen
質問者

お礼

できました~。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • m_mik
  • ベストアンサー率26% (31/117)
回答No.1

printf("%d\n" , d)の間違いだと思うのですが、よろしいですか? それで、質問内容の 0004などの表示ですが、 printf("%.4d\n" , d) とすると 0004 と表示されます。 (小数点[精度を表す]と桁数をつける) 詳しくは下記URLを参照してください。

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/printf.3.html
jon-td-deen
質問者

お礼

できました~、ありがとうございました。。。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 簡単なようで分からない?for文での加算処理方法及び出力表示方法

    忙しい中失礼します。 ・・・???分からないので質問させていただきます。 プログラム過程 1.5桁の数値入力: 68562 2.偶数桁のみ2倍する: 8x2=16 6x2=12 3.68592→6165122という処理を行う。 4.6165182→処理:6 1+6 5 1+2 2→再度5桁表示:67532 (※2桁目と4桁目の数字が1.とは異なります) 5.67532各桁の加算処理を行い(6+7+5+3+2=23)、”23”をディスプレイ上に表示させる。 希望出力結果:    5桁入力 68592 67532 合計 23    ←加算処理方法及び出力表示方法(ここが分からないのです) を望んでいます。 分からないところ:どうやって67532の加算処理を行い、どうやってそれをディスプレイ上に表示させれば良いのかが分かりません???            以下のプログラム[1]、[2]から、[2]を[1]に組み込もうとしています。ですが、[2]for文のカッコ内()の条件???、及び[2]を[1]のどこに組み込めば”合計23”が表示されるのかも分かりません。 そもそもfor文で行うこと自体が無理?そんなことはない、と思っているのですが・・・。それとも[2]を[1]に組み込もうとしてること自体が間違っている?のですかね??? 大変忙しいとは思いますが、アドバイス等ありましたらお願いします。 <使用環境: Borland?? C> [1] 1~4までのプログラミング(完成済) #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int num,tra; int inpt=5; int inptnum; int s; printf("5桁入力; "); scanf("%d", &num); for(inpt ; inpt >=1 ; inpt--) { if(inpt%2 == 0) { inptnum = pow(10,inpt-1); tra = (num/inptnum)%10; s=(tra*2)/10+(tra*2)%10; printf("%d",s); } else {inptnum = pow(10,inpt-1); tra = (num/inptnum)%10; printf("%d",tra);} } system("pause"); return 0; } [2]単独での加算処理プログラム(完成済) #include <stdio.h> #include <stdlib.h> int main() { int count; int Sum; Sum=0; for (count = 1; count <= 6; count++) {printf("%d ",count); Sum = Sum + count; } printf("\nSum%d\n", Sum); system("pause"); return 0; }

  • 小数の表示が・・・。

    初歩的な質問で申し訳ないです。 「2個の整数値を標準入力装置(キーボード)から読み込み、その平均値を計算して結果を標準出力装置(ディスプレイ)に出力するというプログラムを書きなさい。小数以下1桁を表示すること。」 という問題を考えていたのですが、上手くいきません。 intじゃダメということはわかるのですが、floatやdoubleにしたら答えがおかしくなります。 intで割り切れる数字だったらこれでいいみたいですが割り切れない奴を小数1桁表示ができません。 どうすべきでしょうか? #include <stdio.h> main() { int a,b,c; printf("整数a:"); scanf("%d",&a); printf("整数b:"); scanf("%d",&b); c=(a+b)/2; printf("平均値は%dです。",c); }

  • C言語で、数値の桁数を求めるには??

    C言語で数値の桁数を求めるプログラムをもとめたいのですが どうすればいいのでしょうか int c; int a; c=12345; a=printf("%d",c); とするとaに桁数は入るのですが cがPRINTF関数により表示されてしまいます どうすればいいでしょうか? わかる方はおしえてください、おねがいします。

  • 整数を3つ読み込み、一番大きいものを表示するプログラム

    3つが違う数であるとしてこうしたんですが、 #include<stdio.h> int main() {int a,b,c; scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); if(a>b && a>c){ printf("%d\n",a);} if(b>a && b>c){ printf("%d\n",b); if(c>a && c>b){ printf("%d\n",c); }}return 0;} で、コンパイルはできたんですが、実行できません。3つの数値を入力してもその一番大きい数が出てきません。ifの条件は間違ってはいないと思うんですがやはり、最大が2つあるときのことを考えないとできませんか?

  • C言語の問題

    以下はC言語の問題です。お教えください。 1000以下の素数を求めるプログラム prog.c を作成せよ。各素数を整数4桁で出力し、15個の素数を出力した時点で改行処理 を行うこと。作成したプログラムを提出せよ。 です。 僕の考えでは、 #include <stdio.h> #include <math.h> main(){ int i; int j; int ix; int k; printf("正の整数を入力して下さい: "); scanf("%d",&i); ix=(int)(sqrt((double)i)); k=0; for(j=2;j<=ix;j++) { if(i%j==0) { k=1; } } if(k==0) { printf("%d は素数です\n",i); } else { printf("%d は素数ではありません\n",i); } となると思うのですが。どうやら違うようです。全然わからないので、正しい答えを教えてください。

  • 配列要素内の数値

    #include <stdio.h> int main(void) { int arr[1]={123456789}; int *x[1]; *x = arr; printf("%d ",*(x[0])); /* 123456789 と表示*/ return 0;} 実行すると123456789と表示されるまでは分かるのですが、*(x[0])の部分を別の書き方にして、arr[0]に入ってある「123456789」という数値の千の値である6という数値のみを取り出して、表示することは可能なのでしょうか?(6000と取り出したいのではなく、6として取り出したい) 次のように数値を文字列の一つ一つを扱うかのように、扱いたいのです。*(x[0])の部分の変更だけで6を取り出せるような方法はありますか? #include <stdio.h> int main(void) { char *arr[]={"pen"}; printf("%c\n",*(arr[0]+0)); printf("%c\n",*(arr[0]+1)); printf("%c\n",*(arr[0]+2)); return 0;}

  • 任意の桁数を表示するには?

    配列の中に格納されている桁に応じて表示のしかたを変えたいのです。 最大で3桁の数字が入っていたら、3桁表示に、 最大で5桁の数字が入っていたら、5桁表示に、 つまり int a[]={1,100,1,1}; の時は printf("%3.d "); と表示し、 int a[]={1,100,1,10000}; の時は printf("%5.d "); と表示するように、桁数に応じて%x.dのxの部分を変更したいんです。 どうしたらいいでしょうか。

  • コンパイル失敗と表示されましたがどこが間違っているでしょうか?

    インターネット上のC言語入門講座で例題どうりにコンパイラーに入力したつもりなのですが[コンパイルに失敗しました。]と表示されてしまいどこが間違っているのか分かりません。詳しい方教えてください。 #include<stdio.h> void main() { int count; for (count = 0; count < 5; count++) { printf("countは今%dです\n", count); } if(count == 4){ printf("正解は4でした\n"); }else if(count == 5) { printf("正解は5でした\n"); }else { printf("4でも5でもありませんでした\n"); } }

  • どうすれば直りますか?

     ユーザに現在の年齢を入力してもらい、 現在の年齢 :(現在の年齢) 5年後の年齢 :(5年後の年齢) 10年後の年齢:(10年後の年齢) のように出力するプログラムを書いてください。ただし、「(現在の年齢)」などには、実際の数値が入るとします。 このようなプログラムを自分なりに作ってみたところ #include <stdio.h> int main(void) { int a; int b = a + 5; int c = a + 10; printf("現在の年齢:"); scanf("%d",&a); printf("5年後の年齢:%d\n\n",&b); printf("10年後の年齢:%d\n",&c); return 0; } このようになりました。それでコンパイルをして実行して年齢を5と入力したところ1245060と表示されました。ほかの数字でも1245060と表示されます。10年後の年齢も同じように1245056と表示されます。 どこをどのように直せば通常通りに表示されるのでしょうか? よろしくおねがいします

  • C言語プログラミングで・・・

    つい最近、C言語プログラミングのお勉強をはじめた中学生です。 ある程度かけるようになってきて、こちらのサイトに掲載されている練習問題を解いていました。 http://akabas.net/lib/CExercise.aspx いろいろといていく中で、配列の章にはいりました。 配列の章の中の6問目と7問目の九九についてのコードを書いていたところ、どちらも問題なく実行を終了した後 「○○.exeは動作を停止しました。」というメッセージが現れました。 これはコードに何か問題があるのでしょうか? _____________________________________________________________________ //6問目 #include <stdio.h> void line (void){ int cnt; for (cnt = 0; cnt < 30; cnt++) printf("_"); printf("\n"); } int main() { int kuku[9][9], i, j; printf("九九を表示します\n"); for (i = 1; i <= 9; i++){ for (j = 1; j <= 9; j++){ kuku[i][j] = i * j; printf("%d * %d = %d\n", i, j, kuku[i][j]); } line(); } return 0; } ____________________________________________________________________ //7問目 #include <stdio.h> int main() { int kuku[9][9]; int i, j; for (i = 1; i <= 9; i++){ for (j = 1; j <= 9; j++) kuku[i][j] = i * j; } printf("1桁の数値(1 ~ 9に限定)を入力してください 1回目---"); scanf("%d", &i); printf("1桁の数値(1 ~ 9に限定)を入力してください 2回目---"); scanf("%d", &j); printf("\n"); printf("%d * %d = %d", i, j, kuku[i][j]); return 0; } ________________________________________________________________________________ まだ初心者のレベルなので、回答はできたらきつい言葉をつかってほしくないです^^; よろしくおねがいします ※こちらでは、Tabをうっているのですが、表示されてないみたいです。見づらいかと思いますが、よろしくおねがいします

このQ&Aのポイント
  • ミシン糸調整方法とは、ミシンの糸の張り具合を調整することです。
  • 糸調整ができない時は、上糸と下糸の張り具合を確認し、適切に調整する必要があります。
  • ブラザー製品の場合は、取扱説明書を参考にして糸調整を行うことをおすすめします。また、専門の修理業者に相談することも有効です。
回答を見る

専門家に質問してみよう