- ベストアンサー
C言語(高校1年の内容)について
C言語のプログラムが分かりません。教えて下さい。 --------------------------------------- 課題1(kadai1.c) 画面に次のような表示を行うプログラムを作成しなさい。 new computer "POWER PC601"---> \400000(15.5%OFF) (ヒント)素直に表示させようとすればエラーが出るはずです。 「"」「¥」「%」の表示のさせかたに注意。 ただし、商品名、価格、値引率は、変数として代入すること。 --------------------------------------- といった内容です。本当によく分かりません。助けて下さい。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>ようするに、何が分からないかというと、変数を3つも、どうやって代入するかですよ。 異なる「型」の変数を3つ用意して、=を用いて代入(コピー)すればよいです。 >(ヒント)素直に表示させようとすればエラーが出るはずです。 ★下のソースに示すとおり、『おもいっきり』素直にすれば、エラーは出ませんよ。 (Borland C++5.6.4) なお、『おもいっきり』素直になるには、以下を参照して下さい。 http://e-words.jp/p/r-ascii.html http://www.k-cube.co.jp/wakaba/server/format.html #include<stdio.h> #include<string.h> void main() { int iKakaku; double dNebiki; char cSyouhinMei[ 16 ]; // 年寄りは、8の倍数が心地よいです iKakaku = 400000; // 「代入」 dNebiki = 15.5; strcpy( cSyouhinMei, "POWER PC601" ); // 「コピー」 printf( "new computer %c%s%c", 0x22, cSyouhinMei, 0x22 ); printf( "---> %c%d", 0x5C, iKakaku ); printf( "(%4.1lf%cOFF)\n", dNebiki, 0x25 ); } 注:インデントに全角空白を用いています。タブに一括変換して下さい。
その他の回答 (5)
- titokani
- ベストアンサー率19% (341/1726)
1つ代入できれば、それを3つ書けばいいだけですよ。 >char name[12]="\"POWER PC601\""; ここは、 char name[]="POWER PC601"; として、 最終的に表示するときに「"」を追加したほうがいいでしょう。 商品名に「"」が入っているわけではないですから。 あと、価格と値引率ですね。 価格は整数、値引率は実数で。 400000と、15.5をそれぞれ代入できる変数を用意すればいいです。
- Wr5
- ベストアンサー率53% (2173/4061)
>変数を3つも、どうやって代入するかですよ。 変数、3つ用意してそれぞれ代入(あるいは初期化)すればよろしいでしょう。 文字列だと代入は面倒かもしれませんが。 # 標準関数のstrcat()なり使うでしょうね。 ところで… >char name[12]="\"POWER PC601\""; 要素数、14個は必要かと思われますけど…。
- JaritenCat
- ベストアンサー率37% (122/322)
例えば、 char name[]="ABC"; /* 文字列 */ int cost=100; /* 整数 */ double rate=10.5; /* 小数 */ printf("NAME=%s COST=%d RATE=%g \n",name, cost, rate); ってやると、 NAME=ABC COST=100 RATE=10.5 と表示されませんか?
- Gizensha
- ベストアンサー率34% (207/608)
最低限、 自分でどのように挑戦したか 結果、どのようにうまくいかないか 程度の情報は出さないと。 今後、卒業までのすべての課題をここで聞くつもりですか?
お礼
20 #include <stdio.h> 30 int main (void) 40 { 50 char name[12]="\"POWER PC601\""; ようするに、何が分からないかというと、変数を3つも、どうやって代入するかですよ。 " \ % の表示方法は分かっています。
「文字あるいは文字列の中では、ある種の文字は \n(改行)のようにエスケープ系列で表される。これらの系列は2文字のように見えるが、それが表すのはあくまでも一つの文字である。」(「プログラミング言語C」46頁)
お礼
さっそくご返答ありがとうございます。 そのへんは、ぎりぎり分かっているのですが、実際のプログラムの書き方がわかりません。
お礼
みなさん、丁寧に解説ありがとうございました。 これからも、C言語の勉強をがんばっていきたいと思います。