[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
| |
ぷろぐらみんぐ
1
:
まてりん
:2007/05/24(木) 03:17:39 ID:???
俺の課題を鈴木さんが手伝うスレ。常時さげで
2
:
まてりん
:2007/05/24(木) 03:20:22 ID:AwZo9W86
kadai3-3
#include<stdio.h>
main()
{
int a, b, c, d, e;
int max, min;
max = a;
if (max < b)
printf("max=%d/n", b);
if (max < c)
printf("max=%d/n", c);
if (max < d)
printf("max=%d/n", d);
if (max < e)
printf("max=%d/n", e);
min = a;
if (min > b)
printf("min=%d/n", b);
if (min > c)
printf("min=%d/n", c);
if (min > d)
printf("min=%d/n", d);
if (min > e)
printf("min=%d/n", e);
return 0;
}
hw3-1
include <stdio.h>
main()
{
int integer1, integer2;
printf("Enter first integer/n");
scanf("%d", &integer1);
printf("Enter second integer/n");
scanf("%d", &integer2);
if (integer1 > integer2)
printf("The relation between two numbers is/n%d > %d/n", integer1, integer2);
if (integer1 < integer2)
printf("The relation between two numbers is/n%d < %d/n", integer1, integer2);
return 0;
}
3
:
あんだ〜
:2007/05/24(木) 09:56:57 ID:???
俺の環境
OS:win2000
コンパイラ:VS6
or
OS:WinVista
コンパイラ:.Net
注意事項:Linux環境では"/"だがWin環境では"\"
下は問題ない。
上は2つの問題あり。
■1
int a,b,c,d,e;ではメモリ確保しただけなのでそのメモリには何が入っているのか
わからない状態。
int a=1,b=2,c=3,d=5,e=6; //こんなんだったらわかる
■2
■1を実行したらわかるが最大値と最小値を求めるなら6と1がでんといかんやろ?
でも上のを実行したら2回目の計算で3とかで3回目の計算で4だと2回出力される
やん?
つか、ひょっとしてif文しかならっとらんの?もし最大値と最小値求めるならforと
whileも教えといたほうがいいとおもうが・・・。
4
:
あんだ〜
:2007/05/24(木) 10:01:35 ID:???
つか、ひょっとして何らかの値がはいってて(と仮定して)大きい数字と小さい数字
を順次出力?かな
5
:
あんだ〜
:2007/05/24(木) 10:18:53 ID:???
↓きれいとはいえないがこういうことをいってるんじゃない?if文のみなら
int main(int argc, char* argv[])
{
int a=1,b=2,c=3,d=5,e=6;
int max, min;
max = a;
min = a;
if(max<b)
max=b;
if(max<c)
max=c;
if(max<d)
max=d;
if(max<e)
max=e;
if(min>b)
min=b;
if(min>c)
min=c;
if(min>d)
min=d;
if(min>e)
min=e;
printf("max=%d\n", max);
printf("min=%d\n", min);
return 0;
}
6
:
まてりん
:2007/05/24(木) 14:05:28 ID:AwZo9W86
キーボードから整数を5つ入力し、それらの最大値と最小値を出力するプログラムを作成しなさい
ってのが問題
7
:
あんだ〜
:2007/05/25(金) 09:29:11 ID:CUqg93Jc
ならこんなかんじでおk
int a,b,c,d,e;
int max, min;
scanf("%d\n", &a);
scanf("%d\n", &b);
scanf("%d\n", &c);
scanf("%d\n", &d);
scanf("%d\n", &e);
max = a;
min = a;
if(max<b)
max=b;
if(max<c)
max=c;
if(max<d)
max=d;
if(max<e)
max=e;
if(min>b)
min=b;
if(min>c)
min=c;
if(min>d)
min=d;
if(min>e)
min=e;
printf("max=%d\n", max);
printf("min=%d\n", min);
return 0;
8
:
名も無きマテリアル
:2007/05/27(日) 00:57:23 ID:YsBMeiqA
俺もこんなんやった記憶があるな。
9
:
misa
:2007/05/27(日) 16:41:46 ID:1SFiLSWQ
俺も
10
:
まてりん
:2007/05/28(月) 13:39:41 ID:AwZo9W86
キーボードから相異なる整数を3つ入力し、それらの和、平均、積、最大値、最小値を出力するプログラム
include <stdio.h>
main()
{
int integer1, integer2, integer3, sum, avr, product, max, min;
printf("Enter first integer/n");
scanf("%d", &integer1);
printf("Enter second integer/n");
scanf("%d", &integer2);
printf("Enter third integer/n");
scanf("%d", &integer3);
sum = integer1 + integer2 + integer3;
avr = sum / 3;
product = integer1 * integer2 * integer3;
printf("sum=%d/n", sum);
printf("avr=%d/n", avr);
printf("product=%d/n", product);
max = integer1;
min = integer1;
if (max < integer2)
max = integer2;
if (max < integer3)
max = integer3;
if (min > integer2)
min = integer2;
if (min > integer3)
min = integer3;
printf("max=%d\n", max);
printf("min=%d\n", min);
return 0;
11
:
まてりん
:2007/05/28(月) 13:43:31 ID:AwZo9W86
買い物をしたところ支払額が1000円未満だったのですべて硬貨で、かつおつりが出ないように支払うことにした。
以下の6種類の硬貨はいずれも十分に持っているものとして、支払うべき各硬貨の枚数を出力するプログラム
例
Price(Yen): 892
500 Yen coin(s): 1
100 Yen coin(s): 3
50 Yen coin(s): 1
10 Yen coin(s): 4
5 Yen coin(s): 0
1 Yen coin(s): 2
Total number of coins: 11
って感じ?ちょい今からやってみる
12
:
まてりん
:2007/05/28(月) 14:08:13 ID:AwZo9W86
#include <stdio.h>
main()
{
int price, 500yen, 100yen, 50yen, 10yen, 5yen, 1yen, mod1, mod2, mod3, mod4, mod5, total;
printf("Price(Yen):");
scanf("%d", price);
500yen = price / 500;
printf("500 Yen coin(s):%d/n", 500yen);
mod1 = price % 500;
100yen = mod1 / 100;
printf("100 Yen coin(s):%d/n", 100yen);
mod2 = mod1 % 100;
50yen = mod2 / 50;
printf("50 Yen coin(s):%d/n", 50yen);
mod3 = mod2 % 50;
10yen = mod3 / 10;
printf("10 Yen coin(s):%d/n", 10yen);
mod4 = mod3 % 10;
5yen = mod4 / 5;
printf("5 Yen coin(s):%d/n", 5yen);
mod5 = mod4 % 5;
1yen = mod5 / 1;
printf("1 Yen coin(s):%d/n", 1yen);
total = 500yen + 100yen + 50yen + 10yen + 5yen + 1yen;
printf("Total number of coins:%d/n", total);
return 0;
}
13
:
まてりん
:2007/05/29(火) 03:53:58 ID:AwZo9W86
ここまでは自己解決
14
:
あんだ〜
:2007/05/29(火) 14:04:23 ID:CUqg93Jc
↓こんなんでもおkだが・・・
int nTotal;
printf("金額を入力してください:");
scanf("%d",&nTotal);
printf("500円:%d\n",nTotal/500);
nTotal=nTotal%500;
printf("100円:%d\n",nTotal/100);
nTotal=nTotal%100;
printf("50円:%d\n",nTotal/50);
nTotal=nTotal%50;
printf("10円:%d\n",nTotal/10);
nTotal=nTotal%10;
printf("5円:%d\n",nTotal/5);
nTotal=nTotal%5;
printf("1円:%d\n",nTotal/1);
nTotal=nTotal%1;
↓どっちが見やすいかだ
printf("金額を入力してください:");
scanf("%d",&nTotal);
//必要なコインの枚数をn***にセットする
n500=nTotal/500;nTotal=nTotal%500;
n100=nTotal/100;nTotal=nTotal%100;
n50=nTotal/50;nTotal=nTotal%50;
n10=nTotal/10;nTotal=nTotal%10;
n5=nTotal/5;nTotal=nTotal%5;
n1=nTotal/1;nTotal=nTotal%1;
//出力
printf("500円:%d\n",n500);
printf("100円:%d\n",n100);
printf("50円:%d\n",n50);
printf("10円:%d\n",n10);
printf("5円:%d\n",n5);
printf("1円:%d\n",n1);
15
:
あんだ〜
:2007/05/29(火) 14:08:12 ID:CUqg93Jc
↑の下のぶん
int nTotal,n500,n100,n50,n10,n5,n1;
printf("金額を入力してください:");
scanf("%d",&nTotal);
//必要なコインの枚数をn***にセットする
n500=nTotal/500;nTotal=nTotal%500;
n100=nTotal/100;nTotal=nTotal%100;
n50=nTotal/50;nTotal=nTotal%50;
n10=nTotal/10;nTotal=nTotal%10;
n5=nTotal/5;nTotal=nTotal%5;
n1=nTotal/1;nTotal=nTotal%1;
//必要コイン数出力
printf("500円:%d\n100円:%d\n50円:%d\n10円:%d\n5円:%d\n1円:%d\n",n500,n100,n50,n10,n5,n1);
return 0;
16
:
まてりん
:2007/05/29(火) 15:26:30 ID:AwZo9W86
上のだと500yenとか100yenって表記がまずかったらしくてinteger1とかにしたけど
それならいける?後学校のやつ日本語うちこめない・・・たぶんおれがやり方知らないだけっぽいけどどうやんだろ
シフト+スペースでもだめぽ
17
:
あんだ〜
:2007/05/29(火) 17:41:37 ID:CUqg93Jc
>500yen→integer1
いける。
>日本語
atokはいってる?はいってたら半角/全角かCtrl+space
もしくはそのコンパイラによるが、日本語対応してなかったら入力できん。
18
:
まてりん
:2007/05/29(火) 21:03:37 ID:AwZo9W86
入力した任意の整数の平均値とその整数の2乗の平均値を計算するプログラム
#include <stdio.h>
main()
{
float average, average2;
int counter, integer, total, total2;
total = 0;
counter = 0;
total2 = 0;
printf("正の整数を入力してください。(-1で終了):");
scanf("%d", &integer);
while (integer != -1){
total = total + integer;
counter = counter + 1;
printf("正の整数を入力してください。(-1で終了):");
scanf("%d", &integer);
}
if (counter != 0){
average = (float) total / counter;
printf("整数の平均は %.2f", average);
}
while (integer != -1){
total2 = total2 + integer * integer;
counter = counter + 1;
printf("正の整数を入力してください。(-1で終了):");
scanf("%d", &integer);
}
if (counter != 0){
average = (float) total2 / counter2;
printf("整数の平均は %.2f", average2);
}
else
printf("整数が入力されませんでした\n");
return 0;
}
19
:
まてりん
:2007/05/29(火) 21:07:07 ID:AwZo9W86
・キーボードから入力された正の整数が偶数であれば「XX is even」と表示する。
・番兵値が入力するまで繰り返す
・上記反復処理中に入力された全データ中の偶数の回数をカウントし、出力
2つ目まではいけてるとおもうんだけど3つ目がわかんね。
whileでif (integer % 2 = 0) counter = counter +1 みたいなかんじ?
とりあえず途中まで
#include <stdio.h>
main()
{
int integer, counter, even;
while (integer != -1){
if (integer % 2 = 1)
printf("%d is not even\n", integer);
if (integer % 2 = 0)
printf("%d is even\n", integer);
}
20
:
まてりん
:2007/05/29(火) 21:12:20 ID:AwZo9W86
とりあえず適当だけど付け足してみた
#include <stdio.h>
main()
{
int integer, counter, even;
counter = 0;
while (integer != -1){
if (integer % 2 = 1)
printf("%d is not even\n", integer);
if (integer % 2 = 0)
printf("%d is even\n", integer);
}
while (integer != =1){
if (integer % 2 = 0)
counter = counter + 1
}
if (counter != 0) {
printf("偶数の回数は %d\n", counter);
}
return 0;
}
21
:
まてりん
:2007/05/29(火) 21:58:43 ID:AwZo9W86
九々出力
#include <stdio.h>
main()
{
int integer i;
printf("Enter an integer(1-9):");
scanf("%d", &integer);
for (i = 0; i < 9; i++)
printf("%d\n", i*integer);
return 0;
}
22
:
あんだ〜
:2007/05/30(水) 10:07:33 ID:CUqg93Jc
九九のほうは
i=0じゃなくてi=1かな
あとint integer,i;
問題の偶数奇数だが上の処理だとスキャンをwhileの中にいれるつもりだよね?
としたら、一番最初に実行するwhileが全く無駄な処理になるってのは分かる?
つまりこの文はwhileではなくdo whileにしないと無駄な計算をしてまう。
23
:
あんだ〜
:2007/05/30(水) 10:30:24 ID:CUqg93Jc
int nCount,nEven,nInput;
nCount=0; //何回まわしかのカウント
nEven=0; //偶数の回数
do
{
scanf("%d",&nInput);
if(nInput%2==0)
{
printf("偶数%dが入力された。\n",nInput);
nEven++;
};
nCount++;
}while(nInput!=-1);
nCount--;
printf("偶数は%d回中%d回入力されました。",nCount,nEven);
return 0;
24
:
まてりん
:2007/05/30(水) 12:02:49 ID:AwZo9W86
まだあんまりわかってないんだよね。
最初のwhileで偶数かどうかの確認を繰り返すみたいなつもりだったw
nInputってのはなに?
25
:
あんだ〜
:2007/05/30(水) 13:18:30 ID:CUqg93Jc
だいたいnのつく変数名は数値、整数(number,numeric)integer(int)型で何らかの数値が入りますよって言う宣言
に良く使われる(dblInputとかだとダブル型だし文字だとstrInputとか)
命名規則はプログラマー次第だが、暗黙の了解というか、読む早さをあげるために
いろいろな工夫がされてる。
早い人が読むと単にinteger(整数)って変数名よりnInput(何らかの整数インプット値)と
みてわかるようにしたらはやくなるやろ?
26
:
あんだ〜
:2007/05/30(水) 13:23:30 ID:CUqg93Jc
まぁ〜stdio(Standard Input Output)勉強してるうちは気にすることないし
InputとうつならscnInputの方がわかりやすいかもね(scn=scanfで使用する変数)。
27
:
まてりん
:2007/05/30(水) 13:43:56 ID:Fr2CZ.06
>>18
なんだけど普通の平均はでるのに2乗のほうがでない。ちなみにcounter2ってのはみすw
28
:
まてりん
:2007/05/30(水) 13:45:55 ID:Fr2CZ.06
Inputってのは俺がいままで使ってたのでいうintegereみたいなもん?深く考えんでいいってことかねr
29
:
まてりん
:2007/05/30(水) 13:56:36 ID:Fr2CZ.06
>>23
nEven++とかnCount++ってのはここではどういう意味?
30
:
まてりん
:2007/05/30(水) 14:14:02 ID:Fr2CZ.06
標準入力から正の整数nを読み込み、1からnまで順に出力するぷろぐらむを書け、
ただし、各数は空白文字でくぎり、重のくらいが増える毎に改行を入れて見やすくすること
int integer, i;
printf("Enter an integer:");
scanf("%d", &integer);
for (i = 1; i <= integer; i++)
printf(" %d", i);
return 0;
}
これだと 1 2 3 4 5 6 7 8 9 10って感じになるだけで改行されんよね。ifでいちいち桁変わったらなんちゃらってしてくん?
31
:
まてりん
:2007/05/30(水) 14:28:13 ID:Fr2CZ.06
EOFってー1とかのこと?質問しまくりですまねw
32
:
まてりん
:2007/05/30(水) 14:36:16 ID:Fr2CZ.06
EOF自己解決
33
:
あんだ〜
:2007/05/30(水) 15:06:43 ID:CUqg93Jc
>>18
int nCount=0,nInput;
float fAve=0;
do
{
printf("正の整数を入力してください。(-1で終了):");
scanf("%d",&nInput);
if(nInput!=-1)
{
fAve+=nInput;
nCount++;
}
}while(nInput!=-1);
fAve/=nCount;
printf("平均:%.2f\n2乗:%.2f\n",fAve,fAve*fAve);
>>28
そう。ただの名前。
>>29
(nCount++) = (nCount=nCount+1)
++nCountとnCount++では意味合いが変わるので注意。
例えば
int a;
a=1;
a=++a;
printf("%d",a);//結果は 2
a=1;
a=a++;
printf("%d",a);//結果は 1
++aは+してから代入 a++は+する前に代入
34
:
あんだ〜
:2007/05/30(水) 15:12:16 ID:CUqg93Jc
>>30-32
マテリのことだからできてると思うけど
if(n%10==0)
printf("\n");
35
:
まてりん
:2007/05/31(木) 01:32:26 ID:AwZo9W86
>>33
18へのレスのほうがちょっとよくわからん。最後それで結果平均出る?
18の俺の2乗のほうが0とかになってまうのは何がいかんのかな?
他はおkwてかまじ助かる。ありがとw
36
:
まてりん
:2007/05/31(木) 01:58:20 ID:AwZo9W86
>>34
ifのほうの意味がよくわからないっす・・・
37
:
あんだ〜
:2007/05/31(木) 09:41:12 ID:CUqg93Jc
>>35
>>18
は2回目の下whileのときinteger!=-1で抜けるなら
即抜けていくから計算してない。integer初期化等の処理をいれないとけない。
上のwhileはinteger=-1でぬけるから、下のwhileはそのまま1回も処理せず抜けるということ
>>36
if(n%10==0)は10,20,30,40・・・の時に真になり11,12,13・・・は偽になる
38
:
まてりん
:2007/05/31(木) 18:16:43 ID:AwZo9W86
>>37
なんという盲点・・・/(^o^)\
39
:
まてりん
:2007/05/31(木) 18:28:27 ID:AwZo9W86
>>37
たぶん
1 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31
ってかんじのをnまでつくれってことだとおもうんだけどそれでいける?
40
:
まてりん
:2007/05/31(木) 18:54:50 ID:AwZo9W86
ブラックジャック
カジノで有名なトランプゲームであるブラックジャックヲコンピュータと対戦するゲームプログラムを作成する。
実際にはトランプを使用して行われるが、ここでは1〜10の目を持つサイコロをカードの数字として扱う簡易版のブラックジャックを考える。
このゲームはディーラーとプレイヤーの対戦ゲームであり、配られたカードの合計が21日開放が勝ちとなる。
ゲーム手順
1、カードを配る
プレイヤー、ディーラーとも2枚のカードを配る。プレイヤーのカードは2枚とも表向き、ディーラーノカードの1枚は見えないように伏せる
2、プレイヤーの番
プレイヤーはヒット(カードをもう1枚引く)かスタンド(カードを引かずその辞典のポイントで勝負)を選択する。
21を超えない限り何回でもヒットすることができる。ただし、21をこえると直ちにプレイヤーのまけとなる。
3、ディーラーの番
プレイヤーがスタンドすれば次にディーラーがカードを引く。ディーラーの場合、ディーラーの意志でカードで引くかどうか決めるのではなく、
ポイントが17以上になるまでカードを引かなければならない。また、17以上になったら、その後カードを引くことができない。
4、勝敗の決定
ディーラーが21をこえた場合、プレイヤーが21をこえていなければプレイヤーの勝ち
ディーラーが21をこえていなければ21に近いほうが勝ち。同じポイントであれば引き分け。
41
:
まてりん
:2007/05/31(木) 19:03:31 ID:AwZo9W86
例
ゲームを開始します。
カードを配ります。
ディーラー>カードは1と??
プレイヤー>カードは3と8.ポイントは11.
プレイヤーの番です。
ヒットorスタンド?[ヒット=1 スタンド=0]:1
プレイヤー>カードは5.ポイントは16.
ヒットorスタンド?[ヒット=1スタンド=0]:0
ディーラーの番です。
ディーラー>1と9.ポイントは10.
ディーラー>カードは5.ポイントは15.
ディーラー>カードは4.ポイントは19.
プレイヤーのポイントは16、ディーラーのポイントは19.
ディーラーの勝ちです。
ゲームを続けますか?[続行=1 終了=0]:0
ゲームを終了しました
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板