提出詳細
ソースコード
#include <stdio.h>
#include <stdlib.h>
#define N 256 // 1行の最大文字数(バイト数)
int main(void) {
FILE *fp; // FILE型構造体
char fname[] = "E.txt";
char line[N];
char str[16];
int numData;
int num;
int numberOfDigits;
fp = fopen(fname, "r"); // ファイルを開く。失敗するとNULLを返す。
if(fp == NULL) {
printf("%s file not open!\n", fname);
return -1;
}
//最初の入力されたデータ数情報をnumDataに入力する。
fgets(line, N, fp);
sscanf(line, "%d", &numData);
for(int i = 0; i < numData; i ++) {
printf("Case #%d:\n", i + 1);
fgets(line, N, fp);
sscanf(line, "%d", &num);
numberOfDigits = num / 10;
if(numberOfDigits == 0) {
if(num % 9 == 0) {
printf("%d\n", 9 * 11);
} else printf("%d\n", (num % 9) * 11);
} else if(numberOfDigits == 1) {
if(num % 9 == 0) {
printf("%d\n", 9 * 11);
} else printf("%d\n", (num % 9) * 111);
} else if(numberOfDigits == 2) {
if(num % 9 == 0) {
printf("%d\n", 9 * 11);
} else printf("%d\n", (num % 9) * 1111);
} else if(numberOfDigits == 3) {
if(num % 9 == 0) {
printf("%d\n", 9 * 11);
} else printf("%d\n", (num % 9) * 11111);
} else if(numberOfDigits == 4) {
if(num % 9 == 0) {
printf("%d\n", 9 * 11);
} else printf("%d\n", (num % 9) * 111111);
} else if(numberOfDigits == 5) {
if(num % 9 == 0) {
printf("%d\n", 9 * 11);
} else printf("%d\n", (num % 9) * 1111111);
} else if(numberOfDigits == 6) {
if(num % 9 == 0) {
printf("%d\n", 9 * 11);
} else printf("%d\n", (num % 9) * 11111111);
}
}
fclose(fp); // ファイルを閉じる
return 0;
}
提出情報
提出出力結果
テストケース情報