(1) a÷bとa%bの値を表示するプログラム
#include<stdio.h>
void main()
{
int a, b, d;
float c;
printf("a=");scanf("%d", &a);
printf("b=");scanf("%d", &b);
c = (float) a / (float)b ;
d = a % b;
printf("a/b=%f¥n",c);
printf("a%b=%d¥n",d);
}
(2)球の表面積と体積を計算するプログラム
#include<stdio.h>
void main()
{
int r;
float V,S;
printf("r=");
scanf("%d", &r);
V = (4*3.14*r*r*r)/3;
S = 4*3.14*r*r;
printf("体積=%.2f¥n",V);
printf("面積=%.2f¥n",S);
}
(3)生きた日数を計算するプログラム
#include <stdio.h>
void main()
{
int year1,month1,date1,year2,month2,date2,a,b,c;
printf("自分の生年月日¥n");
printf("年"); scanf("%d", &year1);
printf("月"); scanf("%d", &month1);
printf("日"); scanf("%d", &date1);
printf("あなたの誕生日は%d年%d月%d日です¥n",year1,month1,date1);
printf("現在の年月日は?¥n");
printf("年"); scanf("%d", &year2);
printf("月"); scanf("%d", &month2);
printf("日"); scanf("%d", &date2);
printf("あなたの誕生日は%d年%d月%d日です¥n",year2,month2,date2);
a = year1*365+month1*30+date1;
b = year2*365+month2*30+date2;
c = b-a;
printf("あなたの生きた日数は%dです¥n",c);
}
(4)三角形の成立条件と面積を求めるプログラム
#include <stdio.h>
#include <math.h>
void main()
{
int a,b,c,d;
float r,S;
printf("三角形の一辺長さa="); scanf("%d", &a);
printf("三角形の一辺長さb="); scanf("%d", &b);
printf("三角形の一辺長さc="); scanf("%d", &c);
d=a+b+c;
if(a<b+c && b<a+c && c<a+b){
printf("三角形ができます¥n");
r = (float) d / 2.0;
S = sqrt(r*(r-a)*(r-b)*(r-c));
printf("面積は%fです",S);
}
else{
printf("三角形ができません¥n");
}
}
(5) 2次方程式の係数を入力し,判別式の値を求め,解をもつかどうか判定するプログラム
#include <stdio.h>
void main()
{
float a,b,c,D;
printf("a="); scanf("%f",&a);
printf("b="); scanf("%f",&b);
printf("c="); scanf("%f",&c);
D=b*b-4*a*c;
if(D>0){
printf("2つの実数解を持つ¥n");
}else if(D==0.0){
printf("重解を持つ¥n");
}else{
printf("2つの虚数解を持つ¥n");
}
}
(6)解の公式を用いて計算するプログラム
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,D,x1,x2;
printf("a="); scanf("%f",&a);
printf("b="); scanf("%f",&b);
printf("c="); scanf("%f",&c);
D=b*b-4*a*c;
x1 = (-b+sqrt(D))/(2*a);
x2 = (-b-sqrt(D))/(2*a);
if(D>0){
printf("2つの実数解を持つ¥n");
printf("解は%.2fと%.2fです¥n",x1,x2);
}else if(D==0.0){
printf("重解を持つ¥n");
printf("解は%.2fです¥n",x1);
}else{
printf("解なし¥n");
}
}
(7)魔王とか書いてあるプログラム
#include<stdio.h>
void main()
{
int a,i;
i=1;
printf("王様:勇者よ、魔王を倒しに行ってはくれぬか?¥n");
printf("「はい」ならば1を「いいえ」ならば0を入力してください");scanf("%d",&a);
if(a==1){
printf("王様:おお、ではさっそく旅の準備をしてくれたまえ。¥n");
}
else if(a==0){
while(a==0){
printf("王様:そんなことを言わずに頼むよ。¥n");
i++;
printf("王様:勇者よ、魔王を倒しに行ってはくれぬか?¥n");
printf("「はい」ならば1を「いいえ」ならば0を入力してください");scanf("%d",&a);
}
}
else{
printf("0か1を入力してください¥n");
printf("王様:大事なことなので%d回言いました¥n",i);
}
(8)条件から外れるまで計算を繰り返すプログラム
#include <stdio.h>
void main ()
{
float weight,weight1,weight2,energy;
printf("あなたの今の体重(kg)は?");scanf("%f",&weight1);
printf("あなたの目標体重(kg)は?");scanf("%f",&weight2);
weight = weight1 - weight2;
energy = weight*7500;
while(energy>=2500 && energy<40000){
printf("あなたは残り%.2f(kcal)消費する必要があります¥n",energy);
if(energy<=10000){
printf("ビリーと1ヶ月¥n");
}
else if(energy<=20000){
printf("ビリーと2ヶ月¥n");
}
else if(energy<=30000){
printf("ビリーと3ヶ月¥n");
}
else {
printf("ビリーと4ヶ月¥n");
}
printf("運動後の体重は?¥n");
printf("あなたの今の体重(kg)は?");scanf("%f",&weight1);
printf("あなたの目標体重(kg)は?");scanf("%f",&weight2);
weight = weight1 - weight2;
energy = weight*7500;
}
}
(9)while文とカウンタを用いたプログラム
#include <stdio.h>
void main()
{
int n=1;
while(n<=40){
if(n%3==0 || n%10==3 || n/10==3){
printf("%d アホ¥n¥n",n); /* 3の倍数と3のつく数字がアホとなる */
}
else {
printf("%d 正常¥n¥n",n);
}
n++;
}
printf("おもろー¥n");
}
(10)3回先にどちらかが勝つまで繰り返すプログラム
#include <stdio.h>
void main()
{
int a,b,win1,win2;
win1=0;
win2=0;
while(win1<3 && win2<3){
printf("a君とb君がじゃんけんします.¥nグー : 1 チョキ : 2 パー : 3¥n");
printf("a君は何を出しますか?¥n"); scanf("%d",&a);
printf("b君は何を出しますか?¥n"); scanf("%d",&b);
if(a==1 && b==2){
printf("a君が勝ちです.¥n");
win1++;
}else if(a==1 && b==3){
printf("b君が勝ちです.¥n");
win2++;
}else if(a==2 && b==1){
printf("b君が勝ちです.¥n");
win2++;
}else if(a==2 && b==3){
printf("a君が勝ちです.¥n");
win1++;
}else if(a==3 && b==1){
printf("a君が勝ちです.¥n");
win1++;
}else if(a==3 && b==2){
printf("b君が勝ちです.¥n");
win2++;
}else{
printf("あいこです.¥n");
}
}
if(win1==3){
printf("A勝ち¥n");}
else{
printf("B勝ち¥n");
}
}
(10)別解
#include <stdio.h>
void main()
{
int a,b,win1,win2;
win1=0;
win2=0;
while(win1<3 && win2<3){
printf("a君とb君がじゃんけんします.¥nグー : 1 チョキ : 2 パー : 3¥n");
printf("a君は何を出しますか?¥n"); scanf("%d",&a);
printf("b君は何を出しますか?¥n"); scanf("%d",&b);
if(b==(a%3)+1){
printf("a君が勝ちです.¥n");
win1++;
}else if(b==((a+1)%3)+1){
printf("b君が勝ちです.¥n");
win2++;
}else if(a==b){
printf("あいこです.¥n");
}else{
printf("1か2か3をちゃんと入力してください¥n"
}
if(win1==3){
printf("Aが先に3回勝ちました¥n");}
else{
printf("Bが先に3回勝ちました¥n");
}
}