演習1
(1)以下のプログラムを見て、配列にどのようにデータが入っているか,配列イメージを図で書け.
(2) 配列の中のデータをすべて出力するような関数を完成させよ。
(3)フローチャートを書け
(4)2番目のデータと3番目のデータを交換したい。
・どうすればよいか、日本語で説 明せよ。
・該当部分のプログラムをかけ。
#include <stdio.h>
void kadai2_1(){
int data[2][3]= {2,4,6,1,8,3};
//(2)以下にプログラムを書け
}
コピペをしてもよいが、ゴミ(全角スペースなど)が所々入っているので削除してください
エラーメッセージで、「文字'***'は認識できません」と出てきた行には、全角文字(全角スペースなど)が含まれているはずです。
演習2
fgetsを利用して、文字列入力する下記のプログラムを動かせ
void kadai21(){char name[21];
printf("名前を入力して下さい\t");
fgets(name, sizeof(name), stdin);
//改行コードを終端コードに置き換える
name[strlen(name) - 1] = '\0';
printf("\nあなたの名前は %s です。\n", name);
}演習3
配列に数値を格納する下記のプログラムを動かせ
void kadai22(){int i;
int value[10];
char input[10];
i=0;
do{
printf("数字を入力して下さい\t");
fgets(input, sizeof(input), stdin);
//改行コードを終端コードに置き換える
input[strlen(input) - 1] = '\0';
value[i] = atoi(input);
printf("入力された数値は %d です。\n", value[i]);
i++;
}while(i<10);
//出力
printf("入力された数値は以下のとおり...\n");
for(int i=0;i<10;i++){
printf("%d ",value[i]);
}
}演習4 下記のプログラムを次の条件を満たすように完成させよ.
(1)学籍番号id(int型),名前name(*char)をメンバーとして持つ構造体 Kindaisei を宣言しなさい.
(2)構造体Kindaiseiを型とするgakuseiという配列を以下のように宣言した.3番目の学生の学籍番号と名前を出力するプログラム書け。
#include <stdio.h>#include <stdlib.h> /* 構造体の定義 */struct Kindaisei {(1)};/* 3番目の学生の番号と名前を出力する例 */void kadai23(void){ struct Kindaisei gakusei[] = {135, "Aさん", 85, "Bさん", 54, "Cさん", 8, "Dさん", 12, "Eさん"};printf( (2) );}
演習5
次のプログラムでポインターを理解しよう
#include <stdio.h>void kadai25(){ char array[]="abcdef"; char* pstr="abcdef"; printf("%s\n",array); printf("%s\n",pstr);}(1)入力し実行せよ(コピペしてよい)
(2)配列arrayとポインタpstrの関係を図示せよ。
(3)それぞれを2文字目から出力するにはどうすればよいか?
(4)それぞれを3文字目だけ出力するにはどうすればよいか?
演習6
下記のような出力をするプログラムを書け(ヒントコードを完成させよ)
0 1 2 3 4 5 6 71 2 3 4 5 6 7 82 3 4 5 6 7 8 93 4 5 6 7 8 9 104 5 6 7 8 9 10 115 6 7 8 9 10 11 126 7 8 9 10 11 12 137 8 9 10 11 12 13 14ヒントコード
void kadai25(){ int z; for(int i=0;i<=7;i++){ for(int j=0;j<=7;j++){ z= ; printf("%d ",z); } printf("\n"); }}