中間演習の解答例


1.(1)


tmp = a;
a = b;
b = tmp;


1.(2)

4回


1.(3)



void main()
{
    int a, b;
	
    printf("Input A=");
    scanf("%d", &a);
    printf("Input B=");
    scanf("%d", &b);
	
    printf("%d と %d の最大公倍数は、%d です。¥n", a * b / gcd(a,b));
}


2.(1)


float average( float *data, int n )
{
	float sum = 0.0;
	int i;

	for(i=0;i<n;i++){
		sum += data[i];	/*	または sum += *(data+i)	*/
	}

	return sum/n;
}


2.(2)



#include <stdio.h>

void main()
{
	int i;
	float data[20];
	FILE *fp;
	
	fp = fopen("sincho.txt","r");

	if(fp = NULL){
		printf("ファイルが開けません¥n");
		return;
	}

	for(i=0;i<20;i++){
		fscanf(fp,"%f",&data[i]);
	}

	fclose(fp);

	printf("平均は%fです¥n",average(data,20));
}


3.



#include<stdio.h>
void main()
{
	int i=0;
	char moji[256];

	printf("文字列を入力してください.¥n"); 
	scanf("%s",moji);

	while(moji[i]!=0){
		i++;
	}
	
	printf("%d文字です.¥n",i);
}