do whileの問題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ジョン

do whileの問題

#1

投稿記事 by ジョン » 11年前

先日、do whileで好きな数字を入力したらそれの約数を求めてもらうプログラミングを作れと言われたのですが
ちんぷんかんぷんです
doの中身をどう書けばいいか教えて下さい…

nil
記事: 428
登録日時: 12年前

Re: do whileの問題

#2

投稿記事 by nil » 11年前

丸投げは禁止です。
フォーラムルールを御覧ください。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: do whileの問題

#3

投稿記事 by beatle » 11年前

1. プログラムを書く前に、まず約数の求め方は分かりますか?例えば30の約数は何かは分かりますか?

2. 30の約数を、あなたはどうやって求めましたか?詳しいやり方を教えてください。

3. その詳しいやり方をプログラムに落としこんでいきます。

ジョン

Re: do whileの問題

#4

投稿記事 by ジョン » 11年前

教科書を見ても出だししかわかんなかったので結果的に丸投げする形になってしまいました
すいませんでした

約数の求め方はアバウトでしかわからないです
公式は見てもちょっとわからないんで…

30の約数は
1,2,3,5,6,10,15,30
です

nil
記事: 428
登録日時: 12年前

Re: do whileの問題

#5

投稿記事 by nil » 11年前

現状のジョンさんの理解度がどれほどのものかわからないのですが
プログラム全体の流れはこのようになるはずです。

1.数字を入力させ、それを受け取る。
2.do,whileを用いて約数を算出。
3.結果を表示

1.について、どの関数を用いればいいのか、またその使用方法はわかるか、
2.について、do,whileの使い方はわかるか、また約数を得るにはどうすればいいか、
3.結果の表示に用いる関数は何か、

これらがわかればプログラムを組めるはずです。

また、自然数aの正の約数はaを割って割り切れる数=割ってあまりの出ない数であり、約数はaより大きくなることはありません。
一部誤字修正
最後に編集したユーザー nil on 2012年10月05日(金) 19:58 [ 編集 1 回目 ]

ジョン

Re: do whileの問題

#6

投稿記事 by ジョン » 11年前

涼雅さん大ヒントありがとうございます!
今日はもう遅いんで明日具体的に考えてみます

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: do whileの問題

#7

投稿記事 by みけCAT » 11年前

非表示エリア
この非表示エリアを表示するには、登録し、ログインする必要があります。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

初級者
記事: 200
登録日時: 13年前

Re: do whileの問題

#8

投稿記事 by 初級者 » 11年前

ヒマなので作ってみました。
ちゃんと動くかどうかはわかりません。

コード:

#include <stdio.h>

void getDivisor(int n)
{
    int i;

    printf("%dの約数=", n);
    i = 1;
    do {
        if (n % i == 0) {
            printf("%s%d", (i == 1) ? "" : ",", i);
        }
    } while (++i <= n);
    putchar('\n');
}

int main(void)
{
    int n;

    do {
        printf("正の整数n="), scanf("%d", &n);
    } while (n <= 0);
    getDivisor(n);
    return 0;
}

ジョン

Re: do whileの問題

#9

投稿記事 by ジョン » 11年前

初心者さんわざわざありがとうございます
一応俺も作ったんですけど保存先ミスってよくわからないとこに保存したんで結果報告できずにいました…

関係ない話ですけど掲示板の除去依頼はどこに出せばいいんですか?
それとOFFRHINEと表示されていますがONRHINEになることはありますか?

nil
記事: 428
登録日時: 12年前

Re: do whileの問題

#10

投稿記事 by nil » 11年前

管理人さんの運営方針で掲示板のトピック削除は行いません。
詳しくはフォーラムルールをご覧いただければいいかと思います。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: do whileの問題

#11

投稿記事 by softya(ソフト屋) » 11年前

ジョン さんが書きました:初心者さんわざわざありがとうございます
一応俺も作ったんですけど保存先ミスってよくわからないとこに保存したんで結果報告できずにいました…

関係ない話ですけど掲示板の除去依頼はどこに出せばいいんですか?
それとOFFRHINEと表示されていますがONRHINEになることはありますか?
削除を依頼される場合正当な理由があれば可能です。
※ 個人情報を書いてしまったとか、著作権上マズかったとか。
ただし、削除できるのは問題となる部分だけとなります。

今回の場合は課題だと思いますので、削除する正当な理由にはなりませんのでご了解ください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ジョン

Re: do whileの問題

#12

投稿記事 by ジョン » 11年前

みなさんお返事ありがとうございます

簡単に消せるのかなーと軽い気持ちで掲示板をつくってしまいましたすいません…

それともう少しみなさんにお力をお貸ししてほしいです
ここ数カ月前までパソコンをあまり使ったことがなかったので本気でわからないのです…

数字を入れてその合計を最後に出すというプログラミングです
他にも微妙に条件があり、
1 マイナスの数値を入力されたらcontinueを使う
2 10以上の数値が入力されたら切り上げて計算(breakを使えと言われた)

/*EX1*/
#include<stdio.h>
int main(void){
int i;
double x,sum;
sum=0;
for(i=1;i<=7;i++) {
if (i<=10);
break ;
if (x>=0) continue;
printf("%d番目のデータ?",i);
scanf("lf",&x);
sum+=x;
}

printf("合計=%f\n,sum");
return 0;
}

です
コンパイルしても異常がでないのでどこがおかしいのかわからんとです…
みなさん教えてください

nil
記事: 428
登録日時: 12年前

Re: do whileの問題

#13

投稿記事 by nil » 11年前

コードタグを使用してください
ジョン さんが書きました: コンパイルしても異常がでないのでどこがおかしいのかわからんとです…
何がどうおかしいのかを説明していただけないとどうすればいいのかわかりません

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: do whileの問題

#14

投稿記事 by softya(ソフト屋) » 11年前

ここは解決チェックしてもらって、別トピックとして質問をしていただけますか?
トピックと内容がずれるのは良くないので。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 13年前
住所: 北海道札幌市
連絡を取る:

Re: do whileの問題

#15

投稿記事 by Dixq (管理人) » 11年前

当サイトで削除を基本的に行っていない理由は、ジョンさんが回答者の立場で考えて頂ければお分かりいただけるかと思います。

例えばジョンさんが、誰かのために時間を割いて何かを教えてあげる資料を作ってあげたとしましょう。
次の日それが破り捨てられていたら・・いい気持ちはしませんよね。
電子データでもそれは同じだからです。

また、softyaさんも仰っているように、一つの質問は一つのトピックで完結するようにして下さい。
それから、投稿前にフォーラムルールを一読下さい。
http://dixq.net/board/board.html

ジョン

Re: do whileの問題

#16

投稿記事 by ジョン » 11年前

フォーラムルールっての読んでませんでした
すみません

それと皆さんのお気持ちを踏みにじるような失礼な発言をしたのも許して下さい

今後は気をつけますのでどうかまた手伝って下さい

閉鎖

“C言語何でも質問掲示板” へ戻る