<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/pissyard/">
    <title>Deitei親子著『C言語プログラミング』の演習問題を解く</title>
    <link>http://w.atwiki.jp/pissyard/</link>
    <atom:link href="https://w.atwiki.jp/pissyard/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>Deitei親子著『C言語プログラミング』の演習問題を解く</description>

    <dc:language>ja</dc:language>
    <dc:date>2011-08-01T21:50:27+09:00</dc:date>
    <utime>1312203027</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/pissyard/pages/12.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/pissyard/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
----
#treemenu(title=第1章 コンピュータ処理の概念,flag=ex,none,
)
#treemenu(title=第2章 Cプログラミング入門,flag=ex,none,
)
#treemenu(title=第3章 構造化プログラムの開発,flag=ex,none,
)
#treemenu(title=第4章 プログラム制御,flag=ex,none,
[[4.16]]
)
#treemenu(title=第5章 関数,flag=ex,none,
[[5.9]],
[[5.19]],
[[5.20]],
[[5.22]]
)
#treemenu(title=第6章 配列,flag=ex,none,
[[6.10]]
)
#treemenu(title=第7章 ポインタ,flag=ex,none,
)
#treemenu(title=第8章 文字と文字列,flag=ex,none,
)
#treemenu(title=第9章 フォーマット付き入出力,flag=ex,none,
)
#treemenu(title=第10章 構造体、共用体、ビット操作、列挙体,flag=ex,none,
)
#treemenu(title=第11章 ファイル処理,flag=ex,none,
)
#treemenu(title=第12章 データ構造,flag=ex,none,
)
#treemenu(title=第13章 プリプロセッサ,flag=ex,none,
)
#treemenu(title=第14章 その他の話題,flag=ex,none,
)
----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります


//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2011-08-01T21:50:27+09:00</dc:date>
    <utime>1312203027</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/19.html">
    <title>5.9</title>
    <link>https://w.atwiki.jp/pissyard/pages/19.html</link>
    <description>
      #highlight(linenumber,c){{
#include&lt;stdio.h&gt;

float calculateCharge(float);

main(){
    float totalTime = 0;
    float totalCharge = 0;
    float time, charge;
    
    printf(&quot;%-8s%10s%10s\n&quot;, &quot;クルマ&quot;, &quot;駐車時間&quot;, &quot;駐車料金&quot;);
    
    // クルマ1
    time = 1.5;
    charge = calculateCharge(time);
    totalTime += time;
    totalCharge += charge;
    printf(&quot;%-8d%10.1f%10.2f\n&quot;, 1, time, charge);
    
    // クルマ2
    time = 4.0;
    charge = calculateCharge(time);
    totalTime += time;
    totalCharge += charge;
    printf(&quot;%-8d%10.1f%10.2f\n&quot;, 2, time, charge);
    
    // クルマ3
    time = 24.0;
    charge = calculateCharge(time);
    totalTime += time;
    totalCharge += charge;
    printf(&quot;%-8d%10.1f%10.2f\n&quot;, 3, time, charge);
    
    // 合計
    printf(&quot;%-8s%10.1f%10.2f\n&quot;, &quot;合計&quot;, totalTime, totalCharge);
    return 0;
}

float calculateCharge(float time){
    // 駐車料金(初期値として、基本料金2ドルを含む)
    float charge = 2.0;
    
    // 駐車時間が3時間以上のとき、
    // 1時間につき、0.5ドルの追加料金を加算する
    if(time &gt; 3){
        charge += (int)(time - 3) *  0.5;
    }
    
    // 徴収は最大10ドルまで
    if(charge &gt; 10){
        charge = 10;
    }
    
    return charge;
}

}}

#divstyle(height:200px;margin-left:10px;margin-right:10px;background-color:#000000;color:#ffffff;padding:5px;overflow-y:scroll){
&amp;tt(){クルマ&amp;space(4)駐車時間&amp;space(2)駐車料金}
&amp;tt(){1&amp;space(12)1.5&amp;space(5)2.00}
&amp;tt(){2&amp;space(12)4.0&amp;space(5)2.50}
&amp;tt(){3&amp;space(11)24.0&amp;space(4)10.00}
&amp;tt(){合計&amp;space(9)29.5&amp;space(4)14.50}
}


- 問題文の仕様と出力例との間に矛盾があるので、 &amp;br()出力例に合わせて作った。 &amp;br() &amp;br()問題文の仕様通りだと、 &amp;br()・クルマ1の駐車料金は2.5ドル &amp;br()・クルマ2の駐車料金は4.0ドル &amp;br()になるはず。  -- pissyard  (2009-12-28 01:28:23)
- 最初に、関数calculateChargeの引数の値が24.0以上かを &amp;br()チェックすると無駄な計算をしなくて済む。 &amp;br() &amp;br() &amp;br()if ( time &gt;= 24 ) { &amp;br() &amp;br() &amp;br()} &amp;br()  -- 名無しさん  (2010-06-12 12:26:16)
- おもしろそうなので続けてください。 &amp;br()私もお勉強します。 &amp;br()気がついた点をメモしました。参考にしてください。 &amp;br()2010-06-12 &amp;br() &amp;br() &amp;br()関数 calculateChargeについて &amp;br()---------------------------- &amp;br() &amp;br() &amp;br()L44 - 45では、駐車料金計算結果が10.0以上で判断しているが、 &amp;br()最初に、引数の値 time が24.0以上か調べたほうが無駄な計算が &amp;br()省けます。 &amp;br() &amp;br() &amp;br()if ( time &gt;= 24 ) { &amp;br()	charge = 10.0; &amp;br()} else { &amp;br() // その他 &amp;br()	} &amp;br() &amp;br() &amp;br()L44: time &gt; 3 では意味がわからないので定数を設けたほうがわかり易いし &amp;br()変更があった場合、訂正が一箇所で済みます。 &amp;br() &amp;br() &amp;br()例： &amp;br()L40. float charge = 2.0;  &amp;br()L41. int BASE_TIME = 3; &amp;br() &amp;br() &amp;br()L44. if ( time &gt; BASE_TIME ) { &amp;br()	...... &amp;br()	} &amp;br() &amp;br() &amp;br()この参考書は古いので最新版ではこうなっています。 &amp;br()int main(void) &amp;br(){ &amp;br()	..... &amp;br()} &amp;br() &amp;br() &amp;br()以上 &amp;br()  -- gtk  (2010-06-12 12:42:54)
- 訂正 &amp;br()--------- &amp;br() &amp;br() &amp;br()if ( time &amp;gt;= 24 ) { &amp;br()	return 10.0 &amp;br()} else { &amp;br() // その他 &amp;br()	} &amp;br() &amp;br() &amp;br()main &amp;br()----- &amp;br() &amp;br() &amp;br()int main(void) &amp;br(){ &amp;br() .... &amp;br()} &amp;br()  -- gtk  (2010-06-12 12:51:24)
#comment(vsize=5)    </description>
    <dc:date>2010-06-12T12:51:24+09:00</dc:date>
    <utime>1276314684</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/pissyard/pages/1.html</link>
    <description>
      last update &amp;last_modified()

Harvey M. Deitel と Paul J. Deitel による著書、『C言語プログラミング』(原題:C How to Program)の練習問題をひたすら解いていきます。おかしなコードも多々あると思いますが、お気づきの点はご指摘していただけると嬉しいです。




環境
Windows XP SP3
Borland C++ Compiler 5.5


**分からないことは？
-[[@wiki ご利用ガイド&gt;http://atwiki.jp/guide/]]
-[[よくある質問&gt;http://atwiki.jp/guide/category1.html]]
-[[無料で会員登録できるSNS内の@wiki助け合いコミュニティ&gt;http://sns.atfb.jp/view_community2.php?no=112]]
-[[@wiki更新情報&gt;http://www1.atwiki.jp/guide/pages/264.html]]
-[[@wikiへのお問合せフォーム&gt;http://atwiki.jp/helpdesk]]
等をご活用ください

**@wiki助け合いコミュニティの掲示板スレッド一覧
#atfb_bbs_list(112)

**その他にもいろいろな機能満載！！
-[[@wikiプラグイン&gt;http://atwiki.jp/guide/category17.html]]
-[[@wiki便利ツール&gt;http://atwiki.jp/guide/category32.html]]
-[[@wiki構文&gt;http://atwiki.jp/guide/category16.html]]
-[[@wikiプラグイン一覧&gt;http://www1.atwiki.jp/guide/pages/264.html]]
-[[まとめサイト作成支援ツール&gt;http://atwiki.jp/matome/]]

total：&amp;counter()
today：&amp;counter(today)
yesterday：&amp;counter(yesterday)    </description>
    <dc:date>2009-12-27T22:53:47+09:00</dc:date>
    <utime>1261922027</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/18.html">
    <title>5.20</title>
    <link>https://w.atwiki.jp/pissyard/pages/18.html</link>
    <description>
      #highlight(linenumber,c){{
#include &lt;stdio.h&gt;

void printSquare(int side, int fillCharacter){
    int i, j;

    for(i = 0; i &lt; side; i++){
        for(j = 0; j &lt; side; j++){
            printf(&quot;%c&quot;, fillCharacter);
        }
        printf(&quot;\n&quot;);
    }
}

main(){
    // 辺の長さが4の正方形を描画
    printSquare(4, &#039;#&#039;);
    printf(&quot;\n&quot;);

    // 辺の長さが7の正方形を描画
    printSquare(7, &#039;X&#039;);
    return 0;
}

}}

#divstyle(height:200px;margin-left:10px;margin-right:10px;background-color:#000000;color:#ffffff;padding:5px;overflow-y:scroll){
#html2(){
&lt;code&gt;
####&lt;br/&gt;
####&lt;br/&gt;
####&lt;br/&gt;
####&lt;br/&gt;
&lt;br/&gt;
XXXXXXX&lt;br/&gt;
XXXXXXX&lt;br/&gt;
XXXXXXX&lt;br/&gt;
XXXXXXX&lt;br/&gt;
XXXXXXX&lt;br/&gt;
XXXXXXX&lt;br/&gt;
XXXXXXX&lt;br/&gt;
&lt;/code&gt;
}
}


#comment(vsize=5)    </description>
    <dc:date>2009-12-27T22:36:47+09:00</dc:date>
    <utime>1261921007</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/17.html">
    <title>5.19</title>
    <link>https://w.atwiki.jp/pissyard/pages/17.html</link>
    <description>
      #highlight(linenumber,c){{
#include &lt;stdio.h&gt;

void printSquare(int side){
    int i, j;

    for(i = 0; i &lt; side; i++){
        for(j = 0; j &lt; side; j++){
            printf(&quot;*&quot;);
        }
        printf(&quot;\n&quot;);
    }
}

main(){
    // 辺の長さが4の正方形を描画
    printSquare(4);
    printf(&quot;\n&quot;);

    // 辺の長さが7の正方形を描画
    printSquare(7);

    return 0;
}
}}

#divstyle(height:200px;margin-left:10px;margin-right:10px;background-color:#000000;color:#ffffff;padding:5px;overflow-y:scroll){
#html2(){
&lt;code&gt;
****&lt;br/&gt;
****&lt;br/&gt;
****&lt;br/&gt;
****&lt;br/&gt;
&lt;br/&gt;
*******&lt;br/&gt;
*******&lt;br/&gt;
*******&lt;br/&gt;
*******&lt;br/&gt;
*******&lt;br/&gt;
*******&lt;br/&gt;
*******&lt;br/&gt;
&lt;/code&gt;
}
}


#comment(vsize=5)    </description>
    <dc:date>2009-12-27T22:24:09+09:00</dc:date>
    <utime>1261920249</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/16.html">
    <title>4.16</title>
    <link>https://w.atwiki.jp/pissyard/pages/16.html</link>
    <description>
      #highlight(linenumber,c){{
#include &lt;stdio.h&gt;

main(){
    int i, j, k;
    
    // A
    for(i = 1; i &lt;= 10; i++){
        for(j = 1; j &lt;= i; j++){
            printf(&quot;*&quot;);
        }
        printf(&quot;\n&quot;);
    }
    printf(&quot;\n&quot;);

    // B
    for(i = 1; i &lt;= 10; i++){
        for(j = 10; j &gt;= i; j--){
            printf(&quot;*&quot;);
        }
        printf(&quot;\n&quot;);
    }
    printf(&quot;\n&quot;);
    
    // C
    for(i = 0; i &lt; 10; i++){
        for(j = 0; j &lt; i; j++){
            printf(&quot; &quot;);
        }
        
        for(k = 0; k &lt; 10 - i; k++){
            printf(&quot;*&quot;);
        }
        printf(&quot;\n&quot;);
    }
    printf(&quot;\n&quot;);
    
    // D
    for(i = 1; i &lt;= 10; i++){
        for(j = 1; j &lt;= 10 - i; j++){
            printf(&quot; &quot;);
        }
        
        for(k = 1; k &lt;= i; k++){
            printf(&quot;*&quot;);
        }
        printf(&quot;\n&quot;);
    }
    printf(&quot;\n&quot;);

    return 0;
}
}}

#divstyle(height:200px;margin-left:10px;margin-right:10px;background-color:#000000;color:#ffffff;padding:5px;overflow-y:scroll){
#html2(){
&lt;code&gt;
*&lt;br/&gt;
**&lt;br/&gt;
***&lt;br/&gt;
****&lt;br/&gt;
*****&lt;br/&gt;
******&lt;br/&gt;
*******&lt;br/&gt;
********&lt;br/&gt;
*********&lt;br/&gt;
**********&lt;br/&gt;
&lt;br/&gt;
**********&lt;br/&gt;
*********&lt;br/&gt;
********&lt;br/&gt;
*******&lt;br/&gt;
******&lt;br/&gt;
*****&lt;br/&gt;
****&lt;br/&gt;
***&lt;br/&gt;
**&lt;br/&gt;
*&lt;br/&gt;
&lt;br/&gt;
**********&lt;br/&gt;
&amp;nbsp;*********&lt;br/&gt;
&amp;nbsp;&amp;nbsp;********&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;*******&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;******&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*****&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;****&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;***&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;**&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;***&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;****&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*****&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;******&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;*******&lt;br/&gt;
&amp;nbsp;&amp;nbsp;********&lt;br/&gt;
&amp;nbsp;*********&lt;br/&gt;
**********&lt;br/&gt;
&lt;/code&gt;
}
}

#comment(vsize=5)    </description>
    <dc:date>2009-12-10T23:50:34+09:00</dc:date>
    <utime>1260456634</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/15.html">
    <title>templete</title>
    <link>https://w.atwiki.jp/pissyard/pages/15.html</link>
    <description>
      #highlight(linenumber,c){{

}}

#divstyle(margin-left:10px;margin-right:10px;background-color:#000000;color:#ffffff;padding:5px;){

}

#comment(vsize=5)    </description>
    <dc:date>2009-12-10T22:46:07+09:00</dc:date>
    <utime>1260452767</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/14.html">
    <title>5.22</title>
    <link>https://w.atwiki.jp/pissyard/pages/14.html</link>
    <description>
      #highlight(linenumber,c){{
#include &lt;stdio.h&gt;

// a)
int division(int a, int b){
    return a / b;
}

// b)
int modulus(int a, int b){
    return a % b;
}

// c)
void split(int num){
    int i;
    int divisor = 1;
	
    for(i = 1; i &lt; num; i *= 10){
        divisor = i;
    }

    while(divisor &gt;= 1){
        printf(&quot;%d&quot;, division(num, divisor));
        num = modulus(num, divisor);
        divisor /= 10;
	
        if(divisor &gt;= 1){
            printf(&quot;  &quot;);
        }
    }
}

main(){
    printf(&quot;a) %d\n&quot;, division(12, 3));
    printf(&quot;b) %d\n&quot;, modulus(10, 3));
	
    printf(&quot;c) &quot;);
    split(4562);
    printf(&quot;\n&quot;);
	
    printf(&quot;c) &quot;);
    split(123456);
    printf(&quot;\n&quot;);

    return 0;
}
}}

#divstyle(margin-left:10px;margin-right:10px;background-color:#000000;color:#ffffff;padding:5px;){
a) 4
b) 1
c) 4  5  6  2
c) 1  2  3  4  5  6}


- うｐ第一弾。ゼロ除算は考慮してません。 &amp;br()エラー処理の書き方を覚えたら書き直すかも。  -- pissyard  (2009-12-10 22:13:02)
#comment(vsize=5)    </description>
    <dc:date>2009-12-10T22:13:02+09:00</dc:date>
    <utime>1260450782</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/13.html">
    <title>6.10</title>
    <link>https://w.atwiki.jp/pissyard/pages/13.html</link>
    <description>
      #highlight(linenumber,c){{
.class1{
    color:#FFFFFF;
}
}}    </description>
    <dc:date>2009-12-09T21:12:07+09:00</dc:date>
    <utime>1260360727</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/pissyard/pages/12.html">
    <title>プラグイン/人気商品一覧</title>
    <link>https://w.atwiki.jp/pissyard/pages/12.html</link>
    <description>
      * 人気商品一覧
@wikiのwikiモードでは
 #price_list(カテゴリ名)
と入力することで、あるカテゴリの売れ筋商品のリストを表示することができます。

カテゴリには以下のキーワードがご利用できます。
|キーワード|表示される内容|
|ps3|PlayStation3|
|ps2|PlayStation3|
|psp|PSP|
|wii|Wii|
|xbox|XBOX|
|nds|Nintendo DS|
|desctop-pc|デスクトップパソコン|
|note-pc|ノートパソコン|
|mp3player|デジタルオーディオプレイヤー|
|kaden|家電|
|aircon|エアコン|
|camera|カメラ|
|game-toy|ゲーム・おもちゃ全般|
|all|指定無し|

空白の場合はランダムな商品が表示されます。

※このプラグインは[[価格比較サイト@PRICE&gt;&gt;http://atprice.jp]]のデータを利用しています。

-----

たとえば、
 #price_list(game-toy)
と入力すると以下のように表示されます。

ゲーム・おもちゃ全般の売れ筋商品
#price_list(game-toy)

ノートパソコンの売れ筋商品
#price_list(game-toy)

人気商品リスト
#price_list()
    </description>
    <dc:date>2009-12-09T20:57:08+09:00</dc:date>
    <utime>1260359828</utime>
  </item>
  </rdf:RDF>
