C言語について

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

C言語について

#1

投稿記事 by もも » 8年前

8桁以内の整数値を読み込み、1桁づつ切り出し、
1行に1桁づつ8行で表示する。
次の2 つの場合について簡単なソースを作成してください。
①下位桁から表示し,その合計を計算し,表示する。
②上位桁から表示し,その合計を計算し,表示する。

naohiro19
記事: 256
登録日時: 9年前
住所: 愛知県

Re: C言語について

#2

投稿記事 by naohiro19 » 8年前

フォーラムルールをご覧ください

hss12
記事: 40
登録日時: 8年前

Re: C言語について

#3

投稿記事 by hss12 » 8年前

配列かポインタに読み込んだ数値の文字列を代入し
putcharと改行でいけると思います。

合計は文字から数字に変換しないといけないので -'0' などすれば良いかと。
文字列の最後は '\0' ということは分かりますか?
この掲示板はそのまま回答を書くことは禁止されているので
まず自分で書いてみて、分からない部分をまた質問してください。

non
記事: 1097
登録日時: 9年前

Re: C言語について

#4

投稿記事 by non » 8年前

もも さんが書きました:8桁以内の整数値を読み込み、
これが、学校の課題であるなら、読み込み方法に指定があるはず。
つまり、getcharで文字として読み込むのか、scanf("%ld で数値で読み込むのか。
それによって、仮に取り込んでおく変数を文字列型にするか、整数型にするのか。
1桁ずつの取り出し方が変わってきます。

私が先生なら、整数型に指定します。
non

box
記事: 1745
登録日時: 9年前

Re: C言語について

#5

投稿記事 by box » 8年前

hss12 さんが書きました: この掲示板はそのまま回答を書くことは禁止されている
本当ですか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

たかぎ
記事: 328
登録日時: 9年前
住所: 大阪
連絡を取る:

Re: C言語について

#6

投稿記事 by たかぎ » 8年前

とりあえず①だけ作ってみました。

コード:

#include <stdio.h>
#include <ctype.h>

int sub(int sum, int n)
{
    if (n > 0)
    {
        int c = getchar();
        if (isdigit(c))
        {
            sum = sub(sum + c - '0', n - 1);
            printf("%c\n", c);
        }
    }
    return sum;
}

int main(void)
{
    printf("sum = %d\n", sub(0, 8));
    return 0;
}
②は自分で考えてください。
ちなみに、これを「そのまま回答」ととらえるかどうかはその人次第です。

hss12
記事: 40
登録日時: 8年前

Re: C言語について

#7

投稿記事 by hss12 » 8年前

おっと、私へのつっこみですか。失礼しました。
本当ですか?というのは禁止されてないよ、ということでしょうか。
確かに回答するなとは書かれていませんが、禁止された質問をする人はいるわけで
回答してしまったら掲示板の趣旨に反すると思うのですが。
課題の丸投げは禁止ですので回答は控えます、とでも書けばよかったでしょうか。
まったく分かりませんということなら回答を書くかもしれませんが。

もしかしたら、課題とは書かれていないので
C言語の問題を作ってみたので皆さん考えてみてください
の可能性もありますが・・・。
たかぎさん、isdigitがありましたか勉強になります。

雑談みたいになってしまいすみません。
ももさん気にせず返信してくださいませ。

閉鎖

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