MISW.github.io

1.

#include<stdio.h>

int main(){
	
	int num[3];
	
	num[0]=10;
	num[1]=3;
	num[2]=8;
	
	printf("num[0] = %d\n",num[0]);
	printf("num[1] = %d\n",num[1]);
	printf("num[2] = %d\n",num[2]);
	
	return 0;
}


forループを使うと以下の様に書ける。

#include<stdio.h>

int main(){
	
	int num[3],i;
	
	num[0]=10;
	num[1]=3;
	num[2]=8;
	
	for(i=0;i<3;i++){
		printf("num[%d] = %d\n",i,num[i]);
	}
	
	return 0;
}

2.

#include<stdio.h>

int main(){
	
	int num[10] = {4,3,54,3,67,86,353,784,325,56};
	int i,max = 0;
	
	for(i=0;i<10;i++){
		
		if(max <= num[i]){
			max = num[i];
		}
		
	}
	
	printf("最大値は %d です。\n",max);
	
}

気をつける点は配列の宣言の時点ではまとめて代入することが可能ということである。

3.

#include<stdio.h>

int main(){
	
	int num[10] = {4,3,54,3,67,86,353,784,325,56};
	int i,max = num[0],min = num[0],sum=0;
	double average;
	
	for(i=0;i<10;i++){
		
		if(max <= num[i]){
			max = num[i];
		}
		
		if(min >= num[i]){
			min = num[i];
		}
		
		sum += num[i];
	}
	
	average = sum/10.0;
	
	printf("最大値は %d です。\n",max);
	printf("最小値は %d です。\n",min);
	printf("合計は   %d です。\n",sum);
	printf("平均値は %f です。\n",average);
	
}

平均を出す時に10で割るのだが、 割り算にする時はわざと10.0のようにする。 何故なら整数を整数で割ると、答えは整数が出てしまう。 つまり小数点以下が切り捨てられてしまうのである。