![]() |
/* 1から9までの整数を表示する(文字列版) */
#include <stdio.h> /* printfを使うためのおまじない */
main()
{ /* printfは文字列を表示する関数 */
printf(" 1 2 3 4 5 6 7 8 9\n");
} /* 文字列は " で囲む */
/* end of q11.c */
/* 1から9までの整数を表示する(forループ版) */
#include <stdio.h>
main()
{
int i;
for( i = 1; i < 10; i++ ) /* i が 1 から 9 まで繰り返す */
printf(" %d", i ); /* 空白を2個空けて整数を表示 */
printf("\n"); /* 最後に改行を表示 */
}
/* end of q12.c */
![]() |
/* 3の段を表示する(3ずつ足して行く) */
#include <stdio.h>
main()
{
int i;
for( i = 3; i < 30; i += 3 ) /* 3 から 3 ずつ足しながら... */
printf(" %d", i );
printf("\n");
}
/* end of q13a.c */
/* 3の段を表示する(掛け算しながら) */
#include <stdio.h>
main()
{
int i;
for( i = 1; i < 10; i++ )
printf(" %d", 3*i ); /* 3 と i の積を表示 */
printf("\n");
}
/* end of q13m.c */
/* 3の段を表示する(掛け算しながら) */
#include <stdio.h>
main()
{
int i;
for( i = 1; i < 10; i++ )
printf("%3d", 3*i ); /* 3 文字分の場所を使って整数を表示 */
printf("\n");
}
/* end of q13.c */
/* kの段を表示する */
#include <stdio.h>
main()
{
int i, k;
k = 4; /* 4 の段の例 */
for( i = 1; i < 10; i++ )
printf("%3d", k*i );
printf("\n");
}
/* end of q14.c */
/* kの段を表示する(kをキー入力する版) */
#include <stdio.h>
main()
{
int i, k;
printf("何の段を表示しますか?:");
/* データをキー入力するには関数scanfを使う */
scanf("%d", &k ); /* 整数データをキー入力する */
for( i = 1; i < 10; i++ )
printf("%3d", k*i );
printf("\n");
}
/* end of q14i.c */
☆kの段を表示するループを、 kの値を変えながら繰り返すには? |
![]() | ![]() | |||
2重ループ→ | ↑ kの段の表示を 関数呼び出しに |
/* 九九の表を表示する(2重ループ版) */
#include <stdio.h>
main()
{
int i, k;
for( k = 1; k < 10; k++ ) /* k を 1 から 9 まで変化させる */
{ /* k の段を表示するブロック */
for( i = 1; i < 10; i++ )
printf("%3d", k*i );
printf("\n");
}
}
/* end of q15.c */
/* 九九の表を表示する(失敗版) */
#include <stdio.h>
/* kの段を表示する関数の定義〜6.のq14.cのmain()と殆ど同じ〜 */
void dan()
{
int i;
/* ここに int k; と書いちゃ〜ダメダメ! */
for( i = 1; i < 10; i++ )
printf("%3d", k*i ); /* この k が未定義! */
printf("\n");
}
main()
{
int k; /* 実は、この k が関数mainの中でのみ有効! */
for( k = 1; k < 10; k++ )
dan(); /* kの段を表示する関数の呼び出し */
}
/* end of q16e.c */
/* 九九の表を表示する(グローバル変数版) */
#include <stdio.h>
int k; /* この k は大域的に有効! */
/* kの段を表示する関数の定義 */
void dan()
{
int i;
/* ここに int k; と書いちゃ〜ダメダメ! */
for( i = 1; i < 10; i++ )
printf("%3d", k*i );
printf("\n");
}
main()
{
/* ここに int k; と書いちゃ〜ダメダメ! */
for( k = 1; k < 10; k++ )
dan(); /* kの段を表示する関数の呼び出し */
}
/* end of q16.c */
/* 九九の表を表示する(グローバル変数版) */
#include <stdio.h>
int k; /* この k は大域的に有効! */
void dan(); /* 関数danの宣言 */
main()
{
/* ここに int k; と書いちゃ〜ダメダメ! */
for( k = 1; k < 10; k++ )
dan(); /* kの段を表示する関数の呼び出し */
}
/* kの段を表示する関数の定義 */
void dan()
{
int i;
/* ここに int k; と書いちゃ〜ダメダメ! */
for( i = 1; i < 10; i++ )
printf("%3d", k*i );
printf("\n");
}
/* end of q16d.c */
/* 九九の表を表示する(引数渡し版) */
#include <stdio.h>
/* kの段を表示する関数の定義 */
void dan( int k ) /* 仮引数、関数dan の中の k と 関数main の中の k は別物! */
{
int i;
for( i = 1; i < 10; i++ )
printf("%3d", k*i );
printf("\n");
}
main()
{
int k;
for( k = 1; k < 10; k++ )
dan( k ); /* kの段を表示する関数の呼び出し */
/* 変数 k の値が仮引数の k にコピーされる */
}
/* end of q17.c */
/* 九九の表を表示する(引数渡し版) */
#include <stdio.h>
void dan( int n ); /* 関数danの宣言 */
main()
{
int k;
for( k = 1; k < 10; k++ )
dan( k ); /* nの段を表示する関数の呼び出し */
/* 変数 k の値が仮引数の n にコピーされる */
}
/* nの段を表示する関数の定義 */
void dan( int n )
{
int i;
for( i = 1; i < 10; i++ )
printf("%3d", n*i );
printf("\n");
}
/* end of q17d.c */
![]() |
日本の九九は 1×1 から 9×9 までですが、インドの九九は 19×19 までとか言われています。