c
1#include <stdio.h> 2#include <stdlib.h> 3 4int main(void) 5{ 6 int *data= 0; 7 int num,i; 8 9 printf("どの整数の約数を求めますか?:"); scanf("%d", &num); 10 11 data = (int *)malloc(sizeof(int)*num); 12 if(data == NULL){ 13 printf("メモリが確保出来ません\n"); 14 return 1; 15 } 16 17 printf("%dの約数:",num); 18 for (i = 0;i<=num;++i){ 19 if( num % i == 0 ) 20 printf("%d",i); 21 } 22 23 free(data); 24 return 0; 25}
やりたいこと
入力された数値の正の約数を全て求めて表示するプログラムのフローチャートとソースプログラムを作成 せよ。なお、約数データは一旦動的メモリ割り当てで確保された領域に保存した後で表示すること(メモリ は最初に入力された整数の分だけ確保すればよい)。
・1 未満の数は考えなくて良い ・約数かどうかは、入力された数をその数で割った際に割り切れるかどうか判断する
・入力された数を 1 から順に割っていけばよい
・実行例の場合:「2」を入力したときは int 型で 2 個分、「30」を入力したときは int 型で 30 個分を最初に 確保すればよい
困っていること
そもそもメモリーの使い方が間違っているかもしれませんが、実行して入力して約数を求める時に落ちてしまいます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/05/30 21:36
2018/05/30 21:41