#include <stdio.h>
// 倒産リスクを判定する関数
void judge_risk(double z) {
printf("\n算出されたZスコア: %.2f\n", z
); if (z >= 3.0) {
printf("判定結果: 【安全】 財務状態は良好です。\n"); } else if (z >= 1.8) {
printf("判定結果: 【注意】 警戒が必要です。\n"); } else {
printf("判定結果: 【危険】 倒産リスクが高い状態です。\n"); }
}
int main(void) {
// 財務数値を入れる変数(小数対応のためdouble型)
double assets, wc, re, ebit, mc, tl, sales;
double x1, x2, x3, x4, x5, z_score;
printf("--- 簡易倒産指数算出システム (C言語版) ---\n");
// ideoneのstdinから数値を読み込む
// 入力順序: 総資産 運転資本 内部留保 EBIT 時価総額 負債 売上
if (scanf("%lf %lf %lf %lf %lf %lf %lf", &assets
, &wc
, &re
, &ebit
, &mc
, &tl
, &sales
) != 7) { printf("エラー: 7つの数値を正しく入力してください。\n"); return 1;
}
if (assets == 0 || tl == 0) {
printf("エラー: 総資産や負債が0では計算できません。\n"); return 1;
}
// 各指標の計算
x1 = wc / assets;
x2 = re / assets;
x3 = ebit / assets;
x4 = mc / tl;
x5 = sales / assets;
// アルトマンのZスコア計算
z_score = 1.2*x1 + 1.4*x2 + 3.3*x3 + 0.6*x4 + 1.0*x5;
// 判定結果の表示
judge_risk(z_score);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDlgJLnlKPjg6rjgrnjgq/jgpLliKTlrprjgZnjgovplqLmlbAKdm9pZCBqdWRnZV9yaXNrKGRvdWJsZSB6KSB7CiAgICBwcmludGYoIlxu566X5Ye644GV44KM44GfWuOCueOCs+OCojogJS4yZlxuIiwgeik7CiAgICBpZiAoeiA+PSAzLjApIHsKICAgICAgICBwcmludGYoIuWIpOWumue1kOaenDog44CQ5a6J5YWo44CRIOiyoeWLmeeKtuaFi+OBr+iJr+WlveOBp+OBmeOAglxuIik7CiAgICB9IGVsc2UgaWYgKHogPj0gMS44KSB7CiAgICAgICAgcHJpbnRmKCLliKTlrprntZDmnpw6IOOAkOazqOaEj+OAkSDorabmiJLjgYzlv4XopoHjgafjgZnjgIJcbiIpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIuWIpOWumue1kOaenDog44CQ5Y2x6Zm644CRIOWAkueUo+ODquOCueOCr+OBjOmrmOOBhOeKtuaFi+OBp+OBmeOAglxuIik7CiAgICB9Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIC8vIOiyoeWLmeaVsOWApOOCkuWFpeOCjOOCi+WkieaVsO+8iOWwj+aVsOWvvuW/nOOBruOBn+OCgWRvdWJsZeWei++8iQogICAgZG91YmxlIGFzc2V0cywgd2MsIHJlLCBlYml0LCBtYywgdGwsIHNhbGVzOwogICAgZG91YmxlIHgxLCB4MiwgeDMsIHg0LCB4NSwgel9zY29yZTsKCiAgICBwcmludGYoIi0tLSDnsKHmmJPlgJLnlKPmjIfmlbDnrpflh7rjgrfjgrnjg4bjg6AgKEPoqIDoqp7niYgpIC0tLVxuIik7CgogICAgLy8gaWRlb25l44Guc3RkaW7jgYvjgonmlbDlgKTjgpLoqq3jgb/ovrzjgoAKICAgIC8vIOWFpeWKm+mghuW6jzog57eP6LOH55SjIOmBi+i7ouizh+acrCDlhoXpg6jnlZnkv50gRUJJVCDmmYLkvqHnt4/poY0g6LKg5YK1IOWjsuS4igogICAgaWYgKHNjYW5mKCIlbGYgJWxmICVsZiAlbGYgJWxmICVsZiAlbGYiLCAmYXNzZXRzLCAmd2MsICZyZSwgJmViaXQsICZtYywgJnRsLCAmc2FsZXMpICE9IDcpIHsKICAgICAgICBwcmludGYoIuOCqOODqeODvDogN+OBpOOBruaVsOWApOOCkuato+OBl+OBj+WFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAglxuIik7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgaWYgKGFzc2V0cyA9PSAwIHx8IHRsID09IDApIHsKICAgICAgICBwcmludGYoIuOCqOODqeODvDog57eP6LOH55Sj44KE6LKg5YK144GMMOOBp+OBr+ioiOeul+OBp+OBjeOBvuOBm+OCk+OAglxuIik7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgLy8g5ZCE5oyH5qiZ44Gu6KiI566XCiAgICB4MSA9IHdjIC8gYXNzZXRzOwogICAgeDIgPSByZSAvIGFzc2V0czsKICAgIHgzID0gZWJpdCAvIGFzc2V0czsKICAgIHg0ID0gbWMgLyB0bDsKICAgIHg1ID0gc2FsZXMgLyBhc3NldHM7CgogICAgLy8g44Ki44Or44OI44Oe44Oz44GuWuOCueOCs+OCouioiOeulwogICAgel9zY29yZSA9IDEuMip4MSArIDEuNCp4MiArIDMuMyp4MyArIDAuNip4NCArIDEuMCp4NTsKCiAgICAvLyDliKTlrprntZDmnpzjga7ooajnpLoKICAgIGp1ZGdlX3Jpc2soel9zY29yZSk7CgogICAgcmV0dXJuIDA7Cn0=