5. 制御文とアルゴリズム#

Source code#

“ABC”を10回表示するプログラム

#include <stdio.h>
int main(void)
{
    int i;
    for (i = 1; i <= 10; i++)
    {
        printf("ABC\n");
    }
    return 0;
}

1000から2000までの整数をすべて出力するプログラム

#include <stdio.h>
int main(void)
{
    int i;
    for (i = 1000; i <= 2000; i++)
    {
        printf("%d\n", i);
    }
    return 0;
}

1から10まで、数え上げて出力する例

#include <stdio.h>
int main()
{
    int i = 1;
    while (i <= 10)
    {
        printf("%d\n", i);
        i++;
    }
    return 0;
}

break文

#include <stdio.h>
int main(void)
{
    int i;
    for (i = 1; i <= 10; i++)
    {
        printf("ABC\n");
        if (i == 5)
            break;
    }
    return 0;
}

Problem#

  1. for文を使って,1から100までの整数をすべて出力せよ.

  2. while文を使って,1から𝑛までの整数をすべて出力せよ.𝑛はキーボードから入力した値.

  3. 1からnまでの整数のうち,3で割り切れない数の和を求めよ.nはキーボードから入力した値.

  4. 九九表(1の段~9の段)を表示せよ.

  5. キーボードから数値を繰り返し入力し,その合計が100以上になったら入力を止めて,合計を表示せよ.

  6. 5のプログラムを無限ループを使って作れ.

Solutions#

問題1#

for文を使って,1から100までの整数をすべて出力せよ.

#include <stdio.h>
int main(void)
{
	int i;
	for(i=1;i<=100;i++){
		printf("%d\n",i);
	}
	return 0;
}

問題2#

while文を使って,1から𝑛までの整数をすべて出力せよ.𝑛はキーボードから入力した値.

#include <stdio.h>
int main(void)
{
	int n,i=1;
	printf("n="); scanf("%d",&n);
	while(i<=n){
		printf("%d\n",i);
		i++;
	}
	return 0;
}

問題3#

1からnまでの整数のうち,3で割り切れない数の和を求めよ.nはキーボードから入力した値.

#include <stdio.h>
int main(void)
{
	int i,n,wa=0;
	printf("n="); scanf("%d",&n);
	for(i=1;i<=n;i++){
		if(i%3 != 0) wa+=i;
	}
	printf("wa=%d\n",wa);
	return 0;
}

問題4#

九九表(1の段~9の段)を表示せよ.

#include <stdio.h>
int main(void)
{
	int i,j;
	for(i=1;i<10;i++){
		for(j=1;j<10;j++){
			printf("%d\t",i*j);
		}
		printf("\n");
	}
	return 0;
}

問題5#

キーボードから数値を繰り返し入力し,その合計が100以上になったら入力を止めて,合計を表示せよ.

#include <stdio.h>
int main(void){
	int dt,sum;
	sum = 0;
	while(sum < 100){
		printf("Input number=");
		scanf("%d",&dt);
		sum += dt;
	}
	printf("sum=%d\n",sum);
	return 0;
}

問題6#

5のプログラムを無限ループを使って作れ.

#include <stdio.h>
int main(void){
	int dt,sum;
	sum = 0;
	while(1){
		printf("Input number=");
		scanf("%d",&dt);
		sum += dt;
		if(sum>=100)break;
	}
	printf("sum=%d\n",sum);
	return 0;
}