納得C言語!
(1)解答
解答プログラム
//数値を入力してそれが正数か負数かの判別するプログラム
#include <stdio.h>
int main()
{
int i = 0;
printf("正負判別プログラムです数値を入力してください\n");
scanf("%d",&i);
if(i >= 0) //iが0以上ならば
{
printf("入力された数値は正数です\n");
} else { //それ以外ならば
printf("入力された数値は負数です\n");
}
return 0;
}
解説
if文を使用しています。
入力された数値が0以上であれば正数と表示し、それ以外は負数と表示させていますね。
(2)解答
解答プログラム
#include <stdio.h>
int main()
{
int i = 0 ,s = 0 ,c = 0;
printf("数値を入力してください\n");
scanf("%d",&i);
for(s = 1; s <= i; s++){ //sに1を代入、sがi以上になるまで、sに1を足す
c = c + s; //c += s; と書き換えることもできる
}
printf("1〜%dまでの合計は%dです\n", i, c);
return 0;
}
解説
ここではfor文を使います。
for文の中で使う変数sの宣言を忘れないでつけていますか?
また、()の中の区切りは「,」ではなく「;」です。
慣れないうちはよく間違えるので、気をつけてくださいね。
(3)解答
解答プログラム
#include <stdio.h>
int main()
{
int i = 0 ,s = 1 ,l = 0;
printf("数値を入力してください\n");
scanf("%d",&i);
while(s <= i){ //sがi以上になるまで
l = l + s;
s++; //sに1を足す
}
printf("1〜%dの合計は%dです\n",i,l);
return 0;
}
解説
for文をwhile文に書き直しただけですね。
while文の()の中は「真」の間中の処理を行っています。
(4)解答
解答プログラム
#include <stdio.h>
int main()
{
// switch用変数
int sel = 0;
printf("1:コーヒー、2:コーラ、3:紅茶、4:野菜ジュース\n");
printf("あなたのお好みは?=");
scanf("%d",&sel);
switch(sel){
// 1が入力された場合
case 1:
printf("種類:コーヒー\n値段:100円\n");
break;
// 2が入力された場合
case 2:
printf("種類:コーラ\n値段:120円\n");
break;
// 3が入力された場合
case 3:
printf("種類:紅茶\n値段:105円\n");
break;
// 4が入力された場合
case 4:
printf("種類:野菜ジュース\n値段:130円\n");
break;
// それ以外が入力された場合
default:
printf("お気に召しませんでしたか?\n");
break;
}
return 0;
}
解説
switch用の変数は用意できていましたか?
caseで振り分けたとき、breakでswitch文から抜けるのを忘れると、それ以降のものが表示されてしまいますね・・・
break文を入れる癖をつけておくといいでしょう。