C言語基礎プログラミング演習

課題1:

1 #include <stdio.h>
2 int main()
3 {
4     printf(" 0 \n");
5     printf("<H>\n");
6     printf("I I\n");
7 
8     return 0;
9 }

task1_1.c

 1 #include <stdio.h>
 2 int main()
 3 {
 4     for(int counter = 1;counter <= 2;counter++)
 5     {
 6         printf(" 0 \n");
 7         printf("<H>\n");
 8         printf("I I\n");
 9     }
10     
11     return 0;
12 }

task1_2.c

1 #include <stdio.h>
2 int main()
3 {
4         printf(" 0     0\n");
5         printf("<H>   <H>\n");
6         printf("I I   I I\n");
7     
8     return 0;
9 }

課題2:

 1 #include <stdio.h>
 2 int main()
 3 {
 4     double side1, side2, side3;
 5     scanf_s("%lf%lf%lf", &side1, &side2, &side3);
 6     if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1)
 7     {
 8         printf("三角形を形成できます\n");
 9     }
10     else
11     {
12         printf("三角形を形成できません\n");
13     }
14     return 0;
15 }

課題3:

 1 #include <stdio.h>
 2 int main()
 3 {
 4     char response1, response2;
 5     
 6     printf("毎回の授業前に予習し、授業後に復習しましたか? (yまたはYを入力するとはい、nまたはNを入力するといいえ) : ");
 7     response1 = getchar();
 8 
 9     getchar();
10 
11     printf("\nコードを実際に打ち込んで練習しましたか? (yまたはYを入力するとはい、nまたはNを入力するといいえ) :  ");
12     response2 = getchar();
13 
14     if ((response1 == 'y' || response1 == 'Y') && (response2 == 'y' || response2 == 'Y'))
15         printf("\nローマは一日で建てられたものではありません、引き続き頑張りましょう:)\n");
16     else
17         printf("\nローマは一日で崩壊したものではありません、一緒に建設しましょう\n");
18     return 0;
19 }

質問回答:真ん中のgetchar()の役割はバッファをクリアし、次の文字入力を待つことです。これを付けないと、次の文字が前の文字と同じと見なされます。

課題4:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main() {
 5     double num1, num2;
 6     char ch1, ch2, ch3;
 7     int val1, val2, val3;
 8 
 9     
10     printf("三つの整数を入力してください:");
11     scanf_s("%d %d %d", &val1, &val2, &val3);
12     printf("val1=%d, val2=%d, val3=%d\n", val1, val2, val3);
13 
14     
15     while (getchar() != '\n');
16 
17     
18     printf("三つの文字を入力してください:");
19     scanf_s("%c %c %c", &ch1, sizeof(ch1), &ch2, sizeof(ch2), &ch3, sizeof(ch3));
20     printf("ch1=%c, ch2=%c, ch3=%c\n", ch1, ch2, ch3);
21 
22     
23     printf("二つの倍精度浮動小数点数を入力してください:");
24     scanf_s("%lf %lf", &num1, &num2);
25     printf("num1=%lf, num2=%lf\n", num1, num2);
26 
27     
28     printf("Enterキーを押して続行...");
29     getchar(); 
30 
31     return 0;
32 }
33 //外部の助けを借りて得たもの!!!

課題5:

1 #include <stdio.h>
2 int main()
3 {
4     int calculatedYear;
5     calculatedYear = 1000000000 / 31622400 + 0.5;
6     printf("10億秒は約%d年です\n", calculatedYear);
7     return 0;
8 }

課題6:

 1 #include <stdio.h>
 2 #include <math.h>
 3 
 4 int main()
 5 {
 6     double base, result;
 7 
 8     scanf_s("%lf", &base);
 9     result = pow(base, 365);
10     printf("%.2fの365乗: %.2f\n", base, result);
11 
12     return 0;
13 }
  1 #include <stdio.h>
  2 #include <math.h>
  3 
  4 int main()
  5 {
  6     double base, result;
  7     while (scanf_s("%lf", &base) != EOF)
  8     {
  9         result = pow(base, 365);
10         printf("%.2fの365乗: %.2f\n", base, result);
11         printf("\n");
12     }
13     return 0;
14 }

課題7:

 1 #include <stdio.h>
 2 int main()
 3 {
  4     double celsius, fahrenheit;
  5     printf("摂氏温度Cを入力してください:");
  6     while(scanf_s("%lf", &celsius) != EOF)
  7     {
  8         fahrenheit = celsius * 9.0 / 5.0 + 32;
  9         printf("%.2lf摂氏度=%.2lf華氏度\n", celsius, fahrenheit);
10     }
11     
12 
13     return 0;
14 }

課題8:

 1 #include <stdio.h>
 2 #include <math.h>
 3 
 4 int main()
 5 {
 6     double length1, length2, length3, semiPerimeter;
 7     while(scanf_s("%lf %lf %lf", &length1, &length2, &length3) != EOF)
 8     {
 9         semiPerimeter = (length1 + length2 + length3) / 2;
10         printf("%.3lf\n", sqrt(semiPerimeter * (semiPerimeter - length1) * (semiPerimeter - length2) * (semiPerimeter - length3)));
11     }
12     return 0;
13 }

タグ: C言語 プログラミング基礎 演習 入力出力 数値計算

6月2日 17:23 投稿