至急です! C言語について質問です。

C言語関連 | プログラミング69閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

ThanksImg質問者からのお礼コメント

お先に回答してくれた方にBAあげます!ありがとうございました!

お礼日時:7/1 10:39

その他の回答(1件)

0

#include <stdio.h> #include <stdlib.h> #include <string.h> #define ___ int main(void) { ___ const char *digits = "0123456789abcdefghijklmnopqrstuvwxyz"; ___ char *s; ___ unsigned int *v; ___ size_t m = 3; ___ size_t n = 4; ___ size_t i; ___ if (m < 2 || m > strlen(digits)){ ___ ___ return EXIT_FAILURE; ___ } ___ if (n < 1){ ___ ___ return EXIT_FAILURE; ___ } ___ s = (char *)malloc(n + 1); ___ if (s == NULL){ ___ ___ return EXIT_FAILURE; ___ } ___ memset(s, '0', n); ___ s[n] = 0; ___ v = (unsigned int *)calloc(n + 1, sizeof(unsigned int)); ___ if (v == NULL){ ___ ___ free(s); ___ ___ return EXIT_FAILURE; ___ } ___ ___ while (1){ ___ ___ puts(s); ___ ___ for (i = n - 1; ++v[i] == m && i > 0; --i){ ___ ___ ___ v[i] = 0; ___ ___ ___ s[i] = '0'; ___ ___ } ___ ___ if (v[0] == m){ ___ ___ ___ break; ___ ___ } ___ ___ s[i] = digits[v[i]]; ___ } ___ free(s); ___ free(v); ___ return EXIT_SUCCESS; }