为0920的补充
P14
5.编写一个C程序,运行时输出以下图形:
int main()
{
printf("*****\n");
printf(" *****\n");
printf(" *****\n");
printf(" *****\n");
return 0;
}
6.编写一个C程序,运行时输入a,b,c三个值,输出其中值最大者。
方法一:极简输入
int main()
{
float a, b, c;
scanf("%f%f%f", &a, &b, &c);
a = (a > b) ? a : b;//利用条件运算符,代替条件语句,简化
a = (a > c) ? a : c;
printf("%f", a);
return 0;
}
方法二:函数的定义与调用
float mmax();//函数声明
int main()
{
printf("最大值是%f\n", mmax());//函数调用
return 0;
}
float mmax()//函数定义
{
float arr[3];
float max = arr[0];//如果初始化为0,函数无法比较全为负数的情况
for (int k = 0; k < 3; k++)
{
scanf("%f", &arr[k]);
if (max < arr[k])
{
max = arr[k];
}
}
return max;
}
并且我们不止于三个变量,可输入多个变量,可这么书写:
int main()
{
int i;
printf("请输入数字个数:");
scanf("%d", &i);
float arr[100];//因[]内只能输入常数,数组含量被约束
printf("请输入各数字:");
for (int n = 0; n < i; n++)
{
scanf("%f", &arr[n]);
}
float max = arr[0];//如果初始化为0,函数无法比较全为负数的情况
for (int k = 0; k < i; k++)
{
if (max < arr[k])
{
max = arr[k];
}
}
printf("最大值是%f\n", max);
return 0;
}