MISW.github.io

以下解答

1問目

#include<stdio.h>

void function(int n){
	
	int i;
	for(i=0;i<n;i++){
		
		printf("HelloWorld\n");
		
	}
	
}

int main(){
	
	function(10);
	
	return 0;
}

2問目

今回の素数判定は割りきれた瞬間return 0によって終わらす方法をとった。 return の表示を見ると、関数は終了する。

#include<stdio.h>

int function(int n){
	
	int i;
	
	if(n<2){
		printf("%dは素数ではありません。\n",n);
		return 0;
	}
	
	else{
		
		for(i=2;i<n;i++){
			
			if(n % i == 0){
				printf("%dは素数ではありません。\n",n);
				return 0;
			}
			
		}
		
	}
	
	printf("%dは素数です。\n",n);
	
	return 1;
	
}

int main(){
	
	function(3);
	
	return 0;
	
}

3問目

#include <stdio.h>

double compare(double a,double b){
	
	if(a>=b){
		return a;
	}
	else{
		return b;
	}

}

int main(){
	
	double x=10.2,y=14.3,ans;
	
	ans = compare(x,y);
	
	printf("%fと%fでは、%fのほうが大きいです。\n",x,y,ans);
	
	return 0;
	
}

4問目

#include<stdio.h>

void function(int a,int b,int c){
	
	//いわゆる二次方程式の解の判別式
	int d = b*b-4*a*c;
	
	printf("%dx^2+%dx+%d=0の実数解は",a,b,c);
	
	if(d > 0){
		printf("2つあります。\n");
	}
	
	else if(d == 0){
		printf("1つあります。\n");
	}
	
	else{
		printf("1つもありません。\n");
	}
	
}
int main(){
	
	function(1,2,1);
	
	return 0;
	
}

次に二次方程式の解も表示するプログラム。

#include<stdio.h>
#include<math.h>

void function(int a,int b,int c){
	
	//いわゆる二次方程式の解の判別式
	int d = b*b-4*a*c;
	//解を2つ保存する変数。
	double x1,x2;
	
	//二次方程式の解の公式を用いる。
	x1 = (-b+sqrt(d))/(2*a);
	x2 = (-b-sqrt(d))/(2*a);
	
	printf("%dx^2+%dx+%d=0の実数解は",a,b,c);
	
	if(d > 0){
		printf("2つあります。\n");
		printf("その解は%fと%fです。\n",x1,x2);
	}
	
	else if(d == 0){
		printf("1つあります。\n");
		printf("その解は%fです。\n",x1);
	}
	
	else{
		printf("1つもありません。\n");
	}
}
int main(){
	
	function(1,2,1);
	
	return 0;
	
}