読み込んだ正の整数の偶数を昇順に表示するプログラムを作りたいのです、
整数を入力してください:19
2 4 6 8 10 12 14 16 18となるような。
2ずつ増やすやり方が思いつかないんで教えてください、+2とすると表示されるのは2だけだし・・・。
ウルトラCで作成しているのでよろしくお願いします。

A 回答 (1件)

変数(例えばX)をX=X+2のように増やしゃいいんじゃないですか?



int a,x;
x=0; //偶数って普通0からですよね…
scanf("%d", &a);
while(x<a){
 printf("%d ", x);
 x=x+2;
}

こんな感じで。
エラーチェックとか一切無しですけど。

ウルトラCが何か知らないので、状況にあわせて適当に解釈してください。
普通のCで書いてます。
    • good
    • 0
この回答へのお礼

早速の解答ありがとうございます、どうやら私はブロックを忘れていたみたいですね。大変有意義な回答ありがとうございました。

お礼日時:2001/12/24 17:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qobjective c 1文字ずつ表示

調べてみたところ、NSTimerと言う関数を見つけて
0.05fずつ反応する媒体が出来ました。

-(id)init{

timer = [NSTimer
scheduledTimerWithTimeInterval:0.05f
target:self
selector:@selector(timetime:)
userInfo:nil
repeats:YES
];

return self;
}

-(void)timetime:(NSTimer *)time{i++;
NSLog(@"この機能を利用してノベル風テキスト出力をしたいです");
}

コレを利用してノベルゲーム風に1文字ずつ表示したいのですが、
何か方法はありませんか?

Aベストアンサー

あまり詳しくはないのですが、UILabelを使って実装してみました。

@implementation MyViewController
UILabel *label;

- (void)viewDidLoad
{
[super viewDidLoad];

label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 30)];
[self.view addSubview:label];
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timetime:) userInfo:@"メッセージメッセージメッセージ" repeats:YES];
}

-(void)timetime:(NSTimer *)time
{
static int i;
NSString *message = time.userInfo;
label.text = [message substringToIndex:i];
if(message.length <= i){
[time invalidate];
i=0;
return;
}
i++;
}

@end

ノベルゲーム「風」に1文字ずつ出ると思います。
本当にノベルゲームを作るのであれば、複数行やスキップなど
色々問題がありそうですね。

あまり詳しくはないのですが、UILabelを使って実装してみました。

@implementation MyViewController
UILabel *label;

- (void)viewDidLoad
{
[super viewDidLoad];

label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 30)];
[self.view addSubview:label];
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timetime:) userInfo:@"メッセージメッセージメッセージ" repeats:YES];
}

-(void)timetime:(NSTimer *)time
{
static int i;
N...続きを読む

Q奇数・偶数の区別をプログラミング

IF文を使って奇数ならODD、偶数ならEVENと画面に表示されるようなプログラムを組もうとしたのですが、ちょっと分からなくなりました。

write(6,*)"Enter x"
read(5,*)x
if(???)then
write(6,*)"x is ODD"
else
write(6,*)"x is Even"
endif
stop
end

自分は上記のように考えてみたのですが、???に入れるべきものが分かりません。
2で割って余りが出るなら奇数というのを???に入れるんじゃないかなと思ったのですが、もしそうならどう書けばよいのか。
どなたかご教授ください。
よろしくお願いします。
ちなみに使っているプログラミング言語はFortranです。

Aベストアンサー

if( mod(x,2) == 1 ) then
奇数
else
偶数
end if
という感じでしょうか。

Q少ない順 昇順 降順

とある参考書をやっていまして
データを少ない順に並べ替えるプログラムがある
と記述されている場合は昇順なのでしょうか、降順なのでしょうか?

Aベストアンサー

昇順です
数が少ないのから昇っていく(大きくなっていく)
と考えればいいです

Q線形リスト上でデータを昇順に挿入(pascal)

3555 と並んでるところに4を入れると 34555
2を入れると 23555

このように整数データを昇順に挿入したいのですが、その仕方がわかりません。
データの挿入の仕方はわかっているので問題なのは「線形リスト上でのデータの大小の比較」の方法です。

どのようにすれば比較できるのでしょうか?

Aベストアンサー

>データの挿入の仕方はわかっている
>問題なのは「データの大小の比較」

ということですから,
大小比較なしで適当な位置にデータを挿入するコードを,質問者がPascal言語でどう書いたのかというサンプルを示した方が回答しやすいです。

Qなぜ通りがけをすると昇順に整列されるのか?

2分探索木で通りがけをすると中身が昇順に整列されて出てくる、それは覚えたのですが、なぜそうなるかがわかりません。
試験に「整列されて出ることを帰納法で証明せよ」という問題が出ることを予告されているのですが、なぜかが理論的に理解できていないので出来る気がしません。
どなたか理論をお教えください。

Aベストアンサー

とにかく,実際に二分木を紙にかいて
「自分で手を使って」通りがけを実行してください.
そうすれば仕組みが体得できます.

理論的な証明は・・・トリッキーといえばそうですが
大して難しくありませんが,数学的帰納法の「本質」を
理解していないと厳しいかもしれません
受験数学の公式的な理解だとつらいかも.

証明の手順こんな感じ.
ここで,i番目に得られる値をA(i)と表記します.

STEP 1
A(1)は最小の値である
STEP 2
A(i)<A(i+1)

STEP 2まで示されれば
実際は「昇順」になる,すなわち
A(i)<A(k)<A(i+1)となるようなノードがないことも
自動的に示されます.

なお,細かいことは自分で考えてください.
二分木といっても微妙な定義はそれぞれ違うことがありますので.
厳密なことをいえば
「通りがけ」で「すべてのノードを辿れる」ことも
証明すべきことですが,
まあこれはスルーしてもいいか,。証明済みとしてもよいのでしょう.


人気Q&Aランキング

おすすめ情報