全体表示

[ リスト ]

kadai031 フラグ



/***********************************************************************
「kadai031」
 10回入力して、2番目に小さい値を表示する
************************************************************************/

#include <stdio.h>


main()
{
	int i;		/* カウンター */
	int a;		/* 入力 */
	int b;		/* 最小 */
	int c;		/* 2番目に小さい数字 */

	b = 0x70000000;
	c = 0x70000000;
	for(i=0;i<10;i++){
		scanf("%d",&a);
		if(b>a){
			c = b;
			b = a;
		}
	}
	printf("10回入力して2番に小さな数字は%dです",c);
}



イメージ 1




うーん。。。
答えがちがう。。。




2010年 9月27日 Mon


/***********************************************************************
「kadai031」
 10回入力して、2番目に小さい値を表示する
************************************************************************/

#include <stdio.h>


main()
{
	int i;		/* カウンター */
	int a;		/* 入力 */
	int b;		/* 最小 */
	int c;		/* 2番目に小さい数字 */
	int d;		/* フラグ */

	b = 0x70000000;
	c = 0x70000000;
	d = 0;
	for(i=0;i<10;i++){
		scanf("%d",&a);
		if(b>a){
			c = b;
			b = a;
		}
		if(b<a || c>a){
			d = 1;
			c = a;
		}
	}

	if(d){
		printf("10回入力して2番に小さな数字は%dです",c);
	}else{
		printf("2番目はないです");
	}

}




イメージ 2





出てきた答えはあってるけど、もし入力文字が 0x70000000だったときに判定がずれちゃう。。。
やり直ししなきゃ(; ;)






/***********************************************************************
「kadai031」
 10回入力して、2番目に小さい値を表示する
************************************************************************/

#include <stdio.h>


main()
{
	int i;		/* カウンター */
	int a;		/* 入力 */
	int b;		/* 最小 */
	int c;		/* 2番目に小さい数字 */
	int d;		/* フラグ */

	b = 0x70000000;
	c = 0x70000000;
	d = 0;
	for(i=0;i<10;i++){
		scanf("%d",&a);
		if(b>a){
			c = b;
			b = a;
		}else if(b<a){
			d = 1;
			if(c>a){
				c = a;
			}
		}
	}

	if(d){
		printf("10回入力して2番に小さな数字は%dです",c);
	}else{
		printf("2番目はないです");
	}

}





コレでよし!

閉じる コメント(2)

顔アイコン

0x70000000
というのは、正の数の最大かな?
おしい!
ちがうよ
符号ビットが0で、あとのビットがすべて1が最大
なので
0111 1111 1111 1111 1111 1111 1111 1111
が正解
16進だと
0x7fffffff
だね
ちなみに、このプログラムに
20億1, 20億2, ... 20億10 と入れるとわかるんやないかな

2010/9/28(火) 午前 6:56 ひじり

顔アイコン

ち、ちがうよ?!

・・・
そうすね、ちがいますね(; ;)

0111=7
1111=7

32ビットだから・・・
32/4=8
7fffffff

16進数は0x

20億1, 20億2, ... 20億10 でテスト?!
奥が深いです。。。

2010/9/28(火) 午後 10:52 月夜


よしもとブログランキング

もっと見る

[PR]お得情報

コンタクトレンズで遠近両用?
「2WEEKメニコンプレミオ遠近両用」
無料モニター募集中!
ふるさと納税サイト『さとふる』
実質2000円で特産品がお手元に
11/30までキャンペーン実施中!
ふるさと納税サイト『さとふる』
お米、お肉などの好きなお礼品を選べる
毎日人気ランキング更新中!
話題の新商品が今だけもらえる!
ジュレームアミノ シュープリーム
プレゼントキャンペーン

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事