だから何を言いたいのかまったく分からないと書いているだろうに。
こんなんでいいんかいな。
#include <stdio.h>
int max(double x[3]){
  return x[0] < x[1] && x[1] < x[2] ? 2 : x[0] < x[1] && x[1] > x[2] ? 1 : x[0] > x[1] && x[1] > x[2] ? 0 : x[0] < x[2] ? 2 : 0;
}
int main(void){
  double color[3];
  const char* colorname[3] = {"赤", "緑", "青"};
  printf("%s(%%)?:", colorname[0]);
  scanf("%lf", &color[0]);
  printf("%s(%%)?:", colorname[1]);
  scanf("%lf", &color[1]);
  printf("%s(%%)?:", colorname[2]);
  scanf("%lf", &color[2]);
  if (color[0] < 0.0 || 100.0 < color[0] ||
      color[1] < 0.0 || 100.0 < color[1] ||
      color[2] < 0.0 || 100.0 < color[2]) {
    printf("Error!:0%未満、または100%以上のものがあります!");
    return 1;
  }
  if (20.0 <= color[2] && color[2] <= 26.0) {
    printf("白\n");
    printf("最大のものは%s\n", colorname[max(color)]);
  }
  else
    printf("黒");
  return 0;
}