- ベストアンサー
C言語
次のプログラムは、自然数を入力して,その約数を表示するものである。ブログラム中の0 ~に適するものを答えなさい。ただし,a%bはaをbで割ったときの会りを求める演算 である。 参考 約数とは、入カした自然数に対して,その数を割り切ることのできる整数である。 例えば、6の約数は、1, 2, 3,6となる。 #include <stdio.h> int main (void) int i, num; printf("自然数を入カしてください。"): scanf ("%d", &num); printf("%dの約数は", num) ; for (i =@;i <= num; i++) ( if (num % i @ 0) { printf ("%d,i@1): printf("です。 ¥n"): return 0; 9 この問題の@の部分に入る数字、記号を教えて欲しいのとなぜそうなるのかも教えていただきたいです(-。-;
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#include <stdio.h> int main (void) { int i, num; printf("自然数を入カしてください。"); scanf ("%d", &num); printf("%dの約数は", num) ; for (i = 1;i <= num; i++) { if (num % i == 0) { printf ("%d,",i); } } printf("です。¥n"); return 0; }
その他の回答 (1)
- cametan_42
- ベストアンサー率62% (162/261)
#include <stdio.h> #include <stdlib.h> #include <inttypes.h> int main(void) { char buffer[5]; printf("自然数を入力してください。"); scanf("%4s%*[^\n]", buffer); getchar(); int16_t num = strtol(buffer, NULL, 10); printf("%" PRId16 "の約数は", num); /* 約数の候補は 1 からある */ for (int16_t i = 1; i <= num; i++) { /* num が i で割り切れる時、余りは 0 になる */ if (num % i == 0) { printf(" %" PRId16 "%s ", i, i == num ? "" : ","); } } puts("です。"); return EXIT_SUCCESS; }