• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:printf( " %2d", p * q );)

算数の九九を表示させるプログラム

konitiwannの回答

回答No.5

桁数指定をしています。この場合は、10進数の整数を2桁分だけ表示します。

関連するQ&A

  • printfについて

    他サイトにて非常に興味の有るコードがあったのですが、そのサイトは訳合って見れなくなってしまったのでこちらで聞かせてください。 下記のprintfの中の、%.*sはどう解釈したら良いのですか? % . * s それぞれどういう意味が有るのですか? 始めて見るパターンなので分かりません。 #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(void) { char a[] = "あいaう"; char *p; int len; setlocale(LC_CTYPE, ""); for (p = a; *p; p += len) { len = mblen(p, MB_CUR_MAX if (len <= 0) break; printf("%d: %.*s\n", len, len, p); } return 0; }

  • C言語のポインタ

    あまり意識せずにポインタを使っているせいか,次のプログラムではまってしまいました. #include<stdio.h> #include<stdlib.h> int main(void) {  int *p, q;  p = (int *)malloc(sizeof(int));  q = (int *)malloc(sizeof(int));  *p = 2;  printf("%d\n", *p);  return 0; } コンパイルエラーで実行ファイルが出力されません. このプログラムで変数qはなぜポインタじゃないのでしょうか? 次にtypedefでptr_intという型を定義したプログラムは, 上のようなエラーが出力されず,期待とおりの結果になりました. #include<stdio.h> #include<stdlib.h> typedef int* ptr_int; int main(void) {  ptr_int p, q;  p = (int *)malloc(sizeof(int));  q = (int *)malloc(sizeof(int));  *p = 2;  *q = 3;  printf("%d\n", *p);  printf("%d\n", *q); return 0; } typedefすることでなぜエラーを回避することができるのでしょうか? よろしくおねがいします.

  • printf()で出力したいんですが?

    #include <stdio.h> int main( void ) { int air[4]; int i; i = 0; printf( "データ入力\n" ); do{ scanf( "%d\t", &air[ i++ ]); } while(air[ i - 1 ] > 0 ); printf( "%d\n", i ); return 0; } このプログラムはコンパイル出来ますが、期待していたprintf関数での出力ができません。 その理由として何がありますか?関数の使い方が間違っているのか、DO~WHILE文が使えない場所 なのか、もし直すとすればどう直せばいいのですか。

  • ポインタいついて教えてください

    ポインタがわかりません。 教えてください。 下の二つは、共に「100」を表記すると思いますが、 どこがどのように違うのですか。 また、f1()という関数をつくって、ここで scanfを使って、5つぐらい値を代入させて、 他の関数でこの値を使おうと思っています。 この場合下のどちらを使うのが、よろしいのでしょうか。 よろしくお願いします #include <stdio.h> int main(void) { int *p, q; q = 100; /* q に100を代入 */ p = &q; /* p にq のアドレスを割り当てる */ printf("%d", *p); return 0; } #include <stdio.h> int main(void) { int *p, q; p = &q; /* q のアドレスを得る */ *p = 100; /* ポインタを使ってq に値を代入する */ printf("%d", q); return 0; }

  • Cの九九を表示するプログラムについて

    九九の表示を変えたいんですけど #include <stdio.h> int main(void) { int x,y; for (x = 1;x <= 9;x++) { for (y = 1;y <= 9;y++) { printf(" %2d ", x * y); } printf("\n"); } return 0; } これを実行すると 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 . . 9 . . . . . . . 81 となるのですが、これを 1 * 1 1 * 2 1 * 3 . . . 1 * 9 1 * 2 . . 1 * 9 . . . . . 9 * 9 と表示させたいのですがどなたか知恵を貸していただきませんでしょうか?

  • printfの使い方

    #include <stdio.h> main() { printf("正しい?"); int a; int b; int c; printfをこのように使うと int がここでは 宣言できないとなってしまうのは何故ですか?

  • printfがなくても文字が現れるのはなぜ!?

    #include <stdio.h> #include <string.h> int main() { int hensuu = 0; int *p; p = &hensuu; printf("p=%p &hensuu=%p\n", p, &hensuu); printf("*p=%d\n", *p); *p = 100; printf("*p=%d\n", *p); printf("hensuu=%d\n", hensuu); }  以下、出力結果です。    p=0xff930a1c &hensuu=0xff930a1c *p=0 *p=100 hensuu=100  以上が結果ですが!   *p=100 は*p = 100;で終わっていますが!出力結果として文字が出てきたいるのはなぜですか!  宜しくお願いします。

  • %3dについて

    下記の実行例を参考に足りないコードを記述で書きプログラムを完成させよ。 <実行結果> 配列内容:10 22 34 60 54 <プログラム> #include<stdio.h> int main(void){ int num[]={10,22,34,60,54}; int i; printf("配列内容:"); ---------------------- -------------------- return(0); } こういう問題があって空欄の中に入る回答は for(i=o;i<5;i++){ printf("%3d",num[i]); } なんですが何故%dではなく、%3dなんでしょうか?? %3dはどういった場合に使うのでしょうか?? かなり基本的な質問ですいません。

  • printfを代入する?

    #include <stdio.h> int main(void) { int kaerichi,nyuuryokumoji; char moji[40]; printf("\n数字を入力してください:"); scanf("%d",&nyuuryokumoji); kaerichi=printf("%d",nyuuryokumoji); printf("\n入力数字の桁数は%dです\n",kaerichi); printf("\n文字を入力してください:"); scanf("%s",&moji); kaerichi=printf("%s",moji); printf("\n入力された文字は%dです\n",kaerichi); return(0); } このプログラムでkaerichi=print("d",nyuuryokumoji); とありますがどういう意味でしょうか? 変数に数字などを入れるのはわかるのですが printfをいれるというのがあまりよくわかりません あとどうして桁数がでるのでしょうか?

  • while doについて

    九九の表で、forの2重のプログラムは作成できたのですが、whileとdo~whileを使って書き直すやり方がわからないのです。 どうか教えてください。お願いします。 #include <stdio.h> main() { int i,j; for(j = 1; j <= 9; j++){ for(i = 1; i <= 9; i++) printf("%3d", j*i); printf("\n"); } }