![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
忙しい中失礼します。
http://oshiete1.goo.ne.jp/qa3424254.htmlでも質問させて頂いたものですが、
今、回答してくださった方の意見を参考に以下の過程をこなそうとしています。
1.整数入力
→scanf関数を使用し、"123456"と入力します。
2.整数を文字列に変換
→ printf("Write the SIN: \n");
scanf("%d", &fnum);
printf("%c\n",fnum);
で、"123456"と数値を入力しても”123456”という値が返されず、@となってしまいます。
どうすれば入力した数値が文字列として返ってくるのでしょうか?
どんな文・関数を使用すれば数字を文字列として使用することが可能になるのでしょうか?
今のところ習っている文はif else, swith case, while for,do whileで、
getcharやstr?(string)という関数は習っていません。なので、どうプログラムを書けばいいのか??さっぱりなのです。
でもgetcharやstr?(string)という関数を使用するしか方法はないものなのでしょうか?
また、それから
3.文字列を1文字ごとに整数に変換
にする場合、どんな文・関数を使用すれば、1文字”ごと”に整数に変換できるのでしょうか?
ごめんなさい、分からないのです。プログラム文、ヒントもしくは参考になるページ等があれば教えて下さい。
よろしくお願いします。
<使用環境:フリーソフト(Borland?)C ANSI C>
No.1ベストアンサー
- 回答日時:
C言語の文字列を処理する関数を使わずにプログラム化することは難しいです。
sprintfとか文字配列の処理とか習ってますか?私としては前回の#4のtekcycleさんの数値で処理するほうが良いんじゃないかと思いますが。計算で余りを取る%とか習ってます?
どこまでC言語の機能を使ってよいか知っていることを出来るだけ書き出してくださいね。
!”#4のtekcycleさんの数値で処理するほうが良いんじゃないかと思いますが”今それでやろうとしています。
それならば、私の現在の能力を超えずにプログラミングをこなせるのではないか、と思っています。
数字を文字列化する、というのは私の能力を超えている、だから今の私の能力では出来ない、もしかしたら莫大な時間が掛かってしまうかも・・・と思い、%/*等を使う方向に今自分のプログラムを向けています。
多分そうだ!適切なアドバイスありがとうございました。
遅ればせながら、tekcycleさん、ありがとうございました。
No.3
- 回答日時:
先ほどの「偶数桁の値だけ2倍にする」例です。
#include <stdio.h>
#include <math.h>
void f(int m, int n)
{
if (n) {
int a = m % 10;
f(m / 10, n - 1);
printf("%d", (n % 2) ? a : 2 * a);
}
}
int main(void)
{
int num, m, n;
printf("Input the number: ");
scanf("%d", &num);
m = num;
for (n = 0; num; n++)
num /= 10;
f(m, n);
return 0;
}
(注)インデントのため、全角空白を使っています。
忙しい中の回答ありがとうございます。
今、これまでの回答を参考にして、自分なりにプログラミングを組んでいるところです。
上記の回答は、自分のプログラミングがダメだった場合(多分私のはダメだろうな・・・)、参考にさせてもらうことにします。
親切にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- Ruby プログラミング 3 2023/06/09 14:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
itoaわかりません
-
C言語 空白の行(改行のみ)が...
-
教えていただけませんか?C言語...
-
c言語のプログラミングでキーボ...
-
C言語の課題です
-
文字列の途中に「0」がある場...
-
fgetsで拾われる改行文字を削除...
-
トークン
-
CStringについて
-
16進数の文字列
-
文字列入れ替えのプログラムに...
-
ファイル入出力
-
大文字の文字列→小文字の文字列
-
Cで「大文字、小文字の判定」は...
-
”123456”といった整数を文字列...
-
ブランクのチェック
-
関数の作り方
-
C言語の初心者です。これを実行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
fgets関数を使用したときの文字...
-
反転した数値を表示させるやり方
-
Cで「大文字、小文字の判定」は...
-
charと%c , %s の関係について
-
C言語のステップ数をカウントす...
-
strstrを利用しない文字列検索...
-
C言語 空白の行(改行のみ)が...
-
fgetsで拾われる改行文字を削除...
-
文字列中に含まれる文字の個数...
-
C言語で16進数文字列から16進数...
-
itoaわかりません
-
文の意味
-
C言語 strlen 再入力を促す
-
fgetsでバッファ残留文字列を無...
-
全角文字のチェック
-
C++
-
ブランクのチェック
-
C言語、単語ごとに改行したい
おすすめ情報