#include <stdio.h>
#include <conio.h>
#include <string.h>
#pragma warning(disable:4996)
//ケッペンの気候区分 中2-5 金野 俊
int main(){
double natu, huyu, kion_tuki, kouu_tuki,swf;
unsigned char hanbetu;
double r;
double kion[13];
double kouu[13];//順に各月の平均気温、降水量
double maxkouu, worstkouu, totalkouu;//順に最多雨月降水量、最少雨月降水量、年降水量
double maxkion, worstkion, avekion;//順に最暖月平均気温、最寒月平均気温、年平均気温
//入力
printf("1月から各月の平均気温、降水量の順に入力してください\nただし平均気温は小数または整数、降水量は0以上の小数または整数で入力してください\nまた、大きすぎる数が入力されると正しく判別されない場合があります\n");
for (int i = 1; i<13; i++){
printf("%d月平均気温(℃)", i);
scanf("%lf", &kion[i]);
printf("%d月降水量(mm)", i);
scanf("%lf", &kouu[i]);
}
natu = kion[5] + kion[6] + kion[7] + kion[8];
huyu = kion[11] + kion[12] + kion[1] + kion[2];
//判別基準を確定
maxkion = kion[1];
worstkion = kion[1];
maxkouu = kouu[1];
worstkouu = kouu[1];
for (int i = 1; i<12; i++){
if (maxkion<kion[i + 1]){
maxkion = kion[i + 1];
kion_tuki = i + 1;
}
else if (maxkion == kion[i + 1])
{
maxkion = kion[1];
kion_tuki = 1;
}
else if (maxkion>kion[i + 1]){
maxkion = kion[1];
kion_tuki = 1;
}
if (worstkion<kion[i + 1]){
worstkion = worstkion;
}
else if (worstkion == kion[i + 1]){
worstkion = worstkion;
}
else if (worstkion>kion[i + 1]){
worstkion = kion[i + 1];
}
if (maxkouu<kouu[i + 1]){
maxkouu = kouu[i + 1];
kouu_tuki = i + 1;
}
else if (maxkouu == kouu[i + 1]){
maxkouu = maxkouu;
kouu_tuki = 1;
}
else if (maxkouu>kouu[i + 1]){
maxkouu = maxkouu;
kouu_tuki = 1;
}
if (worstkouu<kouu[i + 1]){
worstkouu = worstkouu;
}
else if (worstkouu == kouu[i + 1]){
worstkouu = worstkouu;
}
else if (worstkouu>kouu[i + 1]){
worstkouu = kouu[i + 1];
}
}
totalkouu = kouu[1] + kouu[2] + kouu[3] + kouu[4] + kouu[5] + kouu[6] + kouu[7] + kouu[8] + kouu[9] + kouu[10] + kouu[11] + kouu[12];
avekion = (kion[1] + kion[2] + kion[3] + kion[4] + kion[5] + kion[6] + kion[7] + kion[8] + kion[9] + kion[10] + kion[11] + kion[12]) / 12;
printf("\n最多雨月降水量 %lfmm\n最少雨月降水量 %lfmm\n年降水量 %lfmm\n最暖月平均気温 %lf℃\n最寒月平均気温 %lf℃\n年平均気温 %lf℃\n\n", maxkouu, worstkouu, totalkouu, maxkion, worstkion, avekion);
//乾燥限界
if (natu > huyu){
if (kouu_tuki >= 5 && kouu_tuki <= 8){
if (worstkouu * 10 < maxkouu){
swf = 0;
}
}
else if (kouu_tuki >= 1 && kouu_tuki <= 2){
if (worstkouu * 3 < maxkouu){
swf = 1;
}
}
else if (kouu_tuki >= 11 && kouu_tuki <= 12){
if (worstkouu * 3 < maxkouu){
swf = 1;
}
}
else{
swf = 2;
}
if (natu < huyu){
if (kouu_tuki >= 5 && kouu_tuki <= 8){
if (worstkouu * 3 < maxkouu){
swf = 1;
}
}
else if (kouu_tuki >= 1 && kouu_tuki <= 2){
if (worstkouu * 10 < maxkouu){
swf = 0;
}
}
else if (kouu_tuki >= 11 && kouu_tuki <= 12){
if (worstkouu * 10 < maxkouu){
swf = 0;
}
}
else{
swf = 2;
}
}
}
if (swf == 0){
r = 20 * avekion;
}
else if (swf == 1){
r = avekion + 7;
r = r * 20;
}
else if (swf == 2){
r = avekion + 14;
r = r * 20;
}
//気候区分判別
if (maxkion > 10) {
if (totalkouu >= r) {
if (worstkion > 18) {
if (worstkouu > 60) {
hanbetu = 'Aw';
}
else if (totalkouu < 2500) {
hanbetu = 'Am';
}
else {
hanbetu = 'Af';
}
}
if (worstkion < -3 && worstkion < 18) {
if (swf == 0) {
hanbetu = 'Cw';
}
else if (swf == 1) {
hanbetu = 'Cs';
}
else if (swf == 2) {
if (maxkion > 22) {
hanbetu = 'Cfa';
}
else {
hanbetu = 'Cfb';
}
}
}
if (worstkion < -3) {
if (swf == 0) {
hanbetu = 'Dw';
}
else if (swf == 1) {
hanbetu = 'Ds';
}
else if (swf == 2) {
hanbetu = 'Df';
}
}
}
else if (totalkouu >= 0.5*r) {
hanbetu = 'BS';
}
else {
hanbetu = 'BW';
}
}
else {
if (maxkion < 0) {
hanbetu = 'ET';
}
else {
hanbetu = 'EF';
}
}
//出力
if (worstkouu < 0) { printf("条件通り入力されなかったため正しく判別されませんでした\nいずれかのキーで終了します\n"); }
else{
printf("判別結果は%dです\nいずれかのキーで終了します\n", hanbetu);
}
getch();
return 0;
}
70やら255などの数字が表示されます。原因がわからないので回答お願いします