ラベル 演習 5 配列 の投稿を表示しています。 すべての投稿を表示
ラベル 演習 5 配列 の投稿を表示しています。 すべての投稿を表示

演習 5-12

#include<stdio.h>
#define NUMBER 2

int main(){

int i, j, k;
int tensu[NUMBER][4][3] = {
{ { 91, 63, 78 }, { 67, 72, 46 }, { 89, 34, 53 }, { 32, 54, 34 } },
{ { 97, 67, 82 }, { 73, 43, 46 }, { 97, 56, 21 }, { 85, 46, 35 } }
};
int sum[4][3] = {0};

for (i = 0; i < NUMBER; i++){
printf("%d回目の点数\n", i + 1);
for (j = 0; j < 4; j++){
for (k = 0; k < 3; k++){
printf("%4d", tensu[i][j][k]);
}
printf("\n");
}
}
for (j = 0; j < 4; j++){
for (k = 0; k < 3; k++){
for (i = 0; i < NUMBER; i++){
sum[j][k] = sum[j][k] + tensu[i][j][k];
}
}
}
printf("合計点\n");
for (j = 0; j < 4; j++){
for (k = 0; k < 3; k++){
printf("%4d", sum[j][k]);
}
printf("\n");
}
return 0;
}

演習 5-11

#include<stdio.h>

int main(){

int i, j, tensu[6][2], seito[6];
int sum_kokugo = 0, sum_sugaku = 0, sum_seito = 0;

printf("国語、数学の順に点数を入力して下さい。\n");
for (i = 0; i < 6; i++){
printf("%d人目\n", i + 1);
for (j = 0; j < 2; j++){
scanf("%d", &tensu[i][j]);
}
}
for (i = 0; i < 6; i++){
sum_kokugo = sum_kokugo + tensu[i][0];
}
for (i = 0; i < 6; i++){
sum_sugaku = sum_sugaku + tensu[i][1];
}
for (i = 0; i < 6; i++){
sum_seito = 0;
for (j = 0; j < 2; j++){
sum_seito = sum_seito + tensu[i][j];
}
seito[i] = sum_seito;
}
printf("国語 合計点:%d 平均点:%d\n", sum_kokugo, sum_kokugo / i);
printf("数学 合計点:%d 平均点:%d\n", sum_sugaku, sum_sugaku / i);
for (i = 0; i < 6; i++){
printf("%d人目 合計点:%d 平均点:%d\n", i + 1, seito[i], seito[i] / j);
}
return 0;
}

演習 5-10

#include <stdio.h>

int main(){

int i, j, k, sum = 0;
int matrix1[4][3], matrix2[3][4];

printf("4行3列の行列と3行4列の行列の積を求めます。\n");
printf("4行3列の行列を入力して下さい。(数字と数字の間は半角スペース)\n");

for (i = 0; i < 4; i++){
scanf("%d %d %d", &matrix1[i][0], &matrix1[i][1], &matrix1[i][2]);
}
printf("3行4列の行列を入力して下さい。(数字と数字の間は半角スペース)\n");

for (i = 0; i < 3; i++){
scanf("%d %d %d %d", &matrix2[i][0], &matrix2[i][1], &matrix2[i][2], &matrix2[i][3]);
}
printf("4行3列の行列と3行4列の行列の積は\n");

for (k = 0; k < 4; k++){
for (i = 0; i < 4; i++){
for (j = 0; j < 3; j++){
sum = sum + (matrix1[k][j] * matrix2[j][i]);
}
printf("%3d ", sum);
sum = 0;
}
printf("\n");
}
return 0;
}

演習 5-9

#include <stdio.h>
#define NUMBER 80

int main(){

int i, j, max;
int num;
int tensu[NUMBER];
int bunpu[11] = { 0 };

printf("人数を入力して下さい:");

do{
scanf("%d", &num);
if (num < 1 || num > NUMBER){
printf("\a1~%dで入力して下さい:", NUMBER);
}
} while (num < 1 || num > NUMBER);

printf("%d人の点数を入力して下さい。\n", num);

for (i = 0; i < num; i++){
printf("%2d番:", i + 1);
do{
scanf("%d", &tensu[i]);
if (tensu[i] < 0 || tensu[i] > 100){
printf("\a1~100で入力して下さい:");
}
}while (tensu[i] < 0 || tensu[i] > 100);
bunpu[tensu[i] / 10]++;
}

putchar('\n');

max = bunpu[0];
for (i = 1; i <= 10; i++){
if (max < bunpu[i]){
max = bunpu[i];
}
}

for (i = max; i > 0; i--){
for (j = 0; j <= 10; j++){
if (i == bunpu[j]){
printf("*  ");
bunpu[j]--;
}
else{
printf("   ");
}
}
putchar('\n');
}

printf("---------------------------------\n");
printf("0 10 20 30 40 50 60 70 80 90 100\n");

return 0;
}

演習 5-8

#include <stdio.h>
#define NUMBER 80

int main(){

int i, j;
int num;
int tensu[NUMBER];
int bunpu[11] = { 0 };

printf("人数を入力して下さい:");

do{
scanf("%d", &num);
if (num < 1 || num > NUMBER){
printf("\a1~100で入力して下さい:");
}
} while (num < 1 || num > NUMBER);

printf("%d人の点数を入力して下さい。\n", num);

for (i = 0; i < num; i++){
printf("%2d番:", i + 1);
do{
scanf("%d", &tensu[i]);
if (tensu[i] < 0 || tensu[i] > 100){
printf("\a1~100で入力して下さい:");
}
}while (tensu[i] < 0 || tensu[i] > 100);
bunpu[tensu[i] / 10]++;
}

puts("\n---分布グラフ---");


for (i = 0; i <= 9; i++){
printf("%3d ~%3d:", i * 10, i * 10 + 9);
for (j = 0; j < bunpu[i]; j++){
putchar('*');
}
putchar('\n');
}
printf("      100:");

for (j = 0; j < bunpu[10]; j++){
putchar('*');
}
putchar('\n');

return 0;
}

演習 5-7

#include <stdio.h>
#define NUMBER 100

int main(){

int i, data, element[NUMBER];

printf("データ数:");    scanf("%d", &data);

for (i = 0; i < data; i++){

printf("%d番:", i + 1);    scanf("%d", &element[i]);
}

printf("{");
for (i = 0; i < data; i++){
if (i == data - 1){
printf("%d}\n", element[data - 1]);
break;
}
printf("%d, ", element[i]);
}
return 0;
}

演習 5-6

a = b = 1.5; は、a = (b = 1.5); と、同じであるので、まず()内から評価される。
その時bはint型なので評価された値は1になり、それが次にdouble型のaに評価されるので、
aの値は1.000000となる。

演習 5-5

#include <stdio.h>
#define NUMBER 7

int main(){

int i;
int x[NUMBER];

for (i = 0; i < NUMBER; i++){
printf("x[%d]:", i);
scanf("%d", &x[i]);
}
for (i = 0; i < NUMBER / 2; i++){
int temp = x[i];
x[i] = x[NUMBER - 1 - i];
x[NUMBER -1 - i] = temp;
}

puts("反転しました。");
for (i = 0; i < NUMBER; i++){
printf("x[%d] = %d\n", i, x[i]);
}
return 0;
}

演習 5-4

#include <stdio.h>

int main(){

int i;
int a[5] = { 17, 23, 36 };
int b[5];

for (i = 0; i < 5; i++){
b[i] = a[4- i];
}
puts("  a    b");
puts("---------");
for (i = 0; i < 5; i++){
printf("%4d%4d\n", a[i], b[i]);
}

return 0;
}

演習 5-3

#include <stdio.h>

int main(){

int i;
int v[5] = { 5, 4, 3, 2, 1 };

for (i = 0; i < 5; i++){
printf("v[%d] = %d\n", i, v[i]);
}

return 0;
}

演習 5-2

#include <stdio.h>

int main(){

int i;
int v[5];

for (i = 0; i < 5; i++){
v[i] = 5 - i;
}
for (i = 0; i < 5; i++){
printf("v[%d] = %d\n", i, v[i]);
}

return 0;
}

演習 5-1

#include <stdio.h>

int main(){

int i;
int v[5];

for (i = 0; i < 5; i++){
v[i] = i;
}
for (i = 0; i < 5; i++){
printf("v[%d] = %d\n", i, v[i]);
}

return 0;
}