No.5ベストアンサー
- 回答日時:
入力される文字列のパターンとして "123.45a"しかないものとします。
つまり、"abc123.45" や "123abc.45"、"1.23.45"のようなものがない場合です。char moji[80], temp[80];
double result;
int i, c;
scanf ("%s", moji);
for (i = 0, c = 0; i < 80 && moji[i]; i++) {
if (('0' <= moji[i] && moji[i] <= '9') || moji[i] == '.') {
temp[c++] = moji[i];
} else {
break;
}
}
temp[c] = '\0';
result = atof (temp);
入力されるパターンが様々な場合はもう少し複雑になりますし、また期待される結果(出力)によっても複雑さが増します。
digit, sei,shou Cの標準関数にはないと思います。自分で作る関数でしょうか? isdigit は与えられた値が数値文字であるか否かを判定する関数(マクロ)です。if文の判定で使えます。
No.3
- 回答日時:
整数型に少数を含む数値を入れることは出来ません。
整数部分と小数部分とに分けて保持するというのならかのうですが。
問題の意図として整数型というのは文字列(char型の配列)を指すのかと思いました。入力された文字列を検査し、数値を抜き出して浮動小数点型の変数に格納するという問題であれば良くある課題です。
この回答への補足
そうなんです。確かそういう問題だったのですがどうしてもわからないんです。明日の金曜提出なのですがまだ出来てなくて困っています。教えていただけないでしょうか?
補足日時:2003/05/08 18:25No.2
- 回答日時:
この問題の意図は
整数型に小数型を入れた場合、どのようになるか?
をさしているのではないでしょうか?
だとしたら簡単です。
#include <stdio.h>
#include <stdlib.h>
int main(void);
int main(void)
{
int num;
double fl;
fl=atof("123.45a");
num=(int)fl;
printf("flの値=%f\n", fl );
printf("numの値=%d\n", num );
}
これで、少数型に入っている値を整数型に代入したら
どのように変化するかがわかると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 3つの倍精度浮動小数点値の平均を求めて、3つの引数全てを平均値に変更するメソッドを作成し、キーボード 1 2022/07/13 16:04
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 malloc 関数を使って教えてください。 入出力例1 3 2022/07/21 09:36
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# プログラミングの問題です。写真のプログラムの1から10を下のように入力しましたがプログラムが上手くい 3 2022/07/01 23:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
C言語について
-
C言語 逆ピラミッドの作り方
-
漢字のソートについて
-
プログラミングの問題で、キー...
-
4桁の数字以外を入力したらエラ...
-
入力候補を表示させるには・・・?
-
double型が正常に認識されてい...
-
プログラムC言語の整数の約数に...
-
C言語 While文(ループ)内の...
-
c言語でひらがなのしりとりをで...
-
if文の条件にscanf関数を使うと…?
-
java初心者です。入力されたの...
-
scanf("%s", buf);でスペースを...
-
VBでの日付入力値のフォーマッ...
-
getchar()について 教えてくだ...
-
Linuxで入力待ちなしkeyread関...
-
cout関数を使っているのですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
double型が正常に認識されてい...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
C言語scanf_sで何故か2回入力に...
-
if文の条件にscanf関数を使うと…?
-
プログラミングの問題です 「金...
-
Linuxで入力待ちなしkeyread関...
-
ワードで文字を入力する時の変...
-
cout関数を使っているのですが...
-
batプログラム上で文字列を入力...
-
Userformの入力順序をタブオー...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
gets_sがうまく動かない
-
Excel VBAで、Application.Inpu...
おすすめ情報