第5回の演習の解答例

(1)キーボードからゼロが入力されるまでに入力された数の和を求めるプログラムを作りなさい。


#include <stdio.h>
void main()
{
    int n,wa;
 

 
    wa = 0;   /* 和をあらかじめ 0 に */ 
 
	do{
		printf("数を入力してください。");
		scanf("%d", &n);
        	wa += n;         /* wa = wa + n */ 
    	}while(n != 0);

		printf("和は %d です¥n", wa);     /* 結果を表示する */ 
}

(2)キーボードから,二つの正整数を入力すると,はじめの数÷あとの数 を計算し,商とあまりを求めるプログラムを,引き算だけで実現しなさい。


#include <stdio.h>
 
void main()
{
 
	int a,b,i,count=0;
	
	printf("a=");
	scanf("%d",&a);

	printf("b=");
	scanf("%d",&b);
 
	while(a>=b){
		a -= b;
		count++;
			}
	printf("a/b=%dあまり%d",count,a);
}
 



(3))キーボードから10個の整数を入力すると,それらの数の和と平均値を求めるプログラムを作りなさい。平均値は,実数で表示すること。


 
#include <stdio.h>
 
void main()
{
	int data,i,sum=0;

	i=0;

	while(i<10){
		printf("データを入力してください:");
		scanf("%d",&data);
		
		sum += data;
		i++;
	}
	
	printf("データの合計値は,%dです.¥nデータの平均値は,%fです.¥n",sum,(float)sum/10);
	
}



(4)キーボードから正の整数を入力すると,入力した数の階乗(n!)を計算するプログラムを作成せよ。

解答例:


#include <stdio.h>
 
void main()
{
    int i, n, kaijyou;
 
    printf ("n= " );
    scanf ( "%d", &n );
 
    kaijyou = 1;		/* 1 で初期化しないといけない */
    i = 1;
 
    while ( i <= n ) {
 
        kaijyou *= i; 		/* kaijyou = kaijyou + n */
 
        i++;
    }
    
    printf ( "%dの階乗は%dです。¥n",n, kaijyou );
    
}



(5)掛け算の九九を一から九の段まですべて表示するプログラムを作成せよ

解答例:


 
#include <stdio.h>
 

void main()
{
    int i, j;
 
    i = 0;
 
    while ( i < 9 ){
 
        j = 0;
 
    	while ( j < 9 ) {
 
        printf("%d×%d=%d¥n",i+1,j+1,(i+1)*(j+1));
 
        j++;
 
    	}
 
   i++;
 
   }
 
}