第10回演習の解答例
課題1
#include <stdio.h>
float max3(float a, float b, float c)
{
float m=a;
if (b>m)
{
m=b;
}
if (c>m)
{
m=c;
}
return m;
}
int main(void)
{
float x, y, z;
scanf("%f", &x);
scanf("%f", &y);
scanf("%f", &z);
printf("max=%f\n", max3(x, y, z));
return 0;
}
課題2
#include <stdio.h>
float min_value(float a[], int max)
{
int i;
float v=a[0];
for (i=1; i<max; i++)
{
if (v>a[i])
{
v=a[i];
}
}
return v;
}
int main()
{
float values[5]={10.2, -1.4, 5.6, 2.1, 3.0};
printf("%f\n", min_value(values, 5));
return 0;
}
課題3
#include <stdio.h>
int compare(char x[], char y[])
{
int i=0;
while (x[i]==y[i] && x[i]!='\0')
{
i++;
}
if (x[i]<y[i])
{
return -1;
}
else if (x[i]>y[i])
{
return +1;
}
return 0;
}
int main()
{
char x[1000], y[1000];
int v;
printf("x? ");
scanf("%s", x);
printf("y? ");
scanf("%s", y);
v=compare(x, y);
if (v<0)
{
printf("x<y\n");
}
else if (v>0)
{
printf("x>y\n");
}
else
{
printf("x=y\n");
}
return 0;
}