![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
忙しい中失礼します。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Cで「大文字、小文字の判定」は...
-
sscanfとscanfの違いがよくわか...
-
ある文字列で2回目3回目に出現...
-
putsとputcharの違い?
-
[Java]文字列分割
-
単語数のカウントについて
-
文字列変換のプログラムについて
-
文字列の途中に「0」がある場...
-
文の意味
-
マイナスからプラスへ転じた時...
-
信頼区間の1.96や1.65ってどこ...
-
「Aに対するBの割合」と「Aに対...
-
AtCoderABC135の問題Cについて
-
Aの値からBの値を除するとは??
-
C言語での引数の省略方法
-
プログラミング初心者です。 Py...
-
doubleの変数にintとintの割り...
-
「指定されたキャストは有効で...
-
エクセルで可視セルにのみ値貼...
-
C言語で電卓を作成する。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
fgets関数を使用したときの文字...
-
charと%c , %s の関係について
-
反転した数値を表示させるやり方
-
strstrを利用しない文字列検索...
-
C言語 空白の行(改行のみ)が...
-
C言語、単語ごとに改行したい
-
itoaわかりません
-
C言語のステップ数をカウントす...
-
fgetsで拾われる改行文字を削除...
-
C言語で16進数文字列から16進数...
-
Cで「大文字、小文字の判定」は...
-
CStringについて
-
C言語の課題です
-
文字列中に含まれる文字の個数...
-
単語数のカウントについて
-
文の意味
-
fgetsでバッファ残留文字列を無...
-
putsとputcharの違い?
おすすめ情報