入力された数値を比較したいです。
標準入力で、例えば7777が入力された際に、初めの7と二つ目の7の比較を行いたいです。
int i=0;
fgets(str, sizeof(str), stdin);
sscanf(str,"%d",&i);
printf("数は%d\n",i);
上記で連続した数値(7777)を入力すると
普通に7777と表示されますが、この一つ目と二つ目の数値である7を比較することは
可能でしょうか?
二次元配列ならば比較できるかと思ったのですが上手くいきません。
どのようにすれば比較できますでしょうか?
比較したいのは数”値”ですか数"字"ですか?
こちらは、数字、です。
ならタイトルと質問を修正しといて。
そうなるとわかるでしょう、入力を int i に取り込んだ時点で数"値"として扱っていることが。
数字として扱いたいなら文字列strのXX文字目を取り出せばいい。
宣言が書かれていないのですが、strはどうなっていますか?
また、文字比較と言っていますが、何故sscanf(str,"%d",&i);で、数値にしているのでしょう?
char str[1000];
int i=0;
int m=0;
int k[5];
fgets(str, sizeof(str), stdin);
sscanf(str,"%d",&i);
printf("入力回数%d\n",i);
for(m=0; m<i; m++){
fgets(str, sizeof(str), stdin);
sscanf(str,"%d",&k[m]);
}
printf("数字は%d\n",k[0]);
printf("数字は%d\n",k[1]);
-----------------------------------------------------------
入力
7777
2229
出力結果
数字は7777
数字は2229
-------------------------------------------------------------
この状態で、教えて下さったような指定は出来るのでしょうか?
“隣り合う数値”ではなく、入力した「数値の比較」ですか?
言葉足らずで申し訳ありません。
数字からなる文字列が与えられます
回答を編集しました。大事な情報を変えるなら質問を編集した上で全部の回答に告知してください。
だから、比較するのは数値(int)ですか?数字(char)ですか?
初めの 7 と二つ目の 7 と書いてあるのだから数字だと思います。そこを変更するのであれば、これだけ回答がついているのだから、一度クローズしてください。質問の内容とここで書かれている内容がまるで違います。
> こちらは、数字、です。
回答3件
あなたの回答
tips
プレビュー