ポインタと配列について
Posted: 2014年1月14日(火) 04:06
これは大学の宿題です。明後日が試験なのですがさっぱり理解出来ていません。
この教科が原因で留年しています。今度こそ根本から理解したいので、皆さんのお力をお貸し下さい。
宜しくお願いします。
------------------------------------------------------------------------------
下記のプログラムは、表示されたリストの中から好きな名前を入力すると、
該当する人物がリストの何番目にいるか表示し、
かつ、その人の点数を表示するプログラムです。
二次元配列 namelistに5人の名前が格納されています。
また、一次元配列 testに5人のテストの点数が格納されています。
#####部分を修正し、プログラムを完成させなさい。
<実行例>
名前リスト:satou,suzuki,takahashi,tanaka,itou,
検索したい名前:tanaka
tanakaさんのデータは,4番目です。
tanakaさんは55点です
code
#include <stdio.h>
############## //文字列処理ライブラリをinclude
##############
##############
int main(void)
{
char *namelist[5]={"satou","suzuki","takahashi","tanaka","itou"};
int test[5]={50,70,80,55,75},no,i;
char name[10];
char buffer[20];
printf("名前リスト:");
for(i=0;i<5;i++){
printf("%s,",#####);
}
printf("\n検索したい名前?:");
fgets(buffer,sizeof(buffer),stdin);
sscanf(buffer,"%s", #####);
##### = search(####);
#####(name,test,no);
return 0;
}
#### search(char *str, char *nlist[], int num)
{
int i;
for(i=0;i<num;i++){
if(#########==0){ ///2つの文字列を比較
printf("%sさんのデータは,%d番目です。\n",str, i+1);
break;
}
}
return i;
}
void hyouji(###############)
{
printf("%sさんは%d点です\n", #####, #####);
}
/code
この教科が原因で留年しています。今度こそ根本から理解したいので、皆さんのお力をお貸し下さい。
宜しくお願いします。
------------------------------------------------------------------------------
下記のプログラムは、表示されたリストの中から好きな名前を入力すると、
該当する人物がリストの何番目にいるか表示し、
かつ、その人の点数を表示するプログラムです。
二次元配列 namelistに5人の名前が格納されています。
また、一次元配列 testに5人のテストの点数が格納されています。
#####部分を修正し、プログラムを完成させなさい。
<実行例>
名前リスト:satou,suzuki,takahashi,tanaka,itou,
検索したい名前:tanaka
tanakaさんのデータは,4番目です。
tanakaさんは55点です
code
#include <stdio.h>
############## //文字列処理ライブラリをinclude
##############
##############
int main(void)
{
char *namelist[5]={"satou","suzuki","takahashi","tanaka","itou"};
int test[5]={50,70,80,55,75},no,i;
char name[10];
char buffer[20];
printf("名前リスト:");
for(i=0;i<5;i++){
printf("%s,",#####);
}
printf("\n検索したい名前?:");
fgets(buffer,sizeof(buffer),stdin);
sscanf(buffer,"%s", #####);
##### = search(####);
#####(name,test,no);
return 0;
}
#### search(char *str, char *nlist[], int num)
{
int i;
for(i=0;i<num;i++){
if(#########==0){ ///2つの文字列を比較
printf("%sさんのデータは,%d番目です。\n",str, i+1);
break;
}
}
return i;
}
void hyouji(###############)
{
printf("%sさんは%d点です\n", #####, #####);
}
/code