前提・実現したいこと
今年から新社会人になる者で、プログラムに関してはほぼ素人なため質問させていただきます。
c言語の課題で「main関数で、NUMBER 人の学生の点数を格納する配列を宣言し、これら用いて点数を読み、表示する」という課題があるのですが、うまくいきません。
条件:以下の関数を用いて上記を達成する。
形式: void get_tensu(int tensu[], int no) tensu 配列の先頭要素へのポインタ no 配列の要素の数 機能:no 人分の学生の点数を読み、配列 tensu に格納する 制約: tensu は要素数 no の int 型の配列の先頭要素へのポインタであること
形式: void put_tensu(const int tensu[], int no) tensu 配列の先頭要素へのポインタ no 配列の要素の数 機能:配列 tensu に格納されている no 人分の学生の点数を表示する 制約: tensu は要素数 no の int 型の配列の先頭要素へのポインタであること
発生している問題・エラーメッセージ
人数を入力してください:5 5人の点数を入力 1番:1 2番:2 3番:3 4番:4 5番:5 合格点を入力 合格点:3 5人の点数 1番:0 2番:102 3番:0 4番:-2145257248 5番:1 最高:5 合格者数:3 swten[] 1 2 3 4 5 ten[] 1 2 3 4 5
該当のソースコード
c
1#include <stdio.h> 2 3#define NUMBER 80 4 5void get_tensu(int tensu[], int no){ 6 int i; 7 printf("%d人の点数を入力 \n", no); 8 for(i = 0; i < no; i++){ 9 printf("%2d番:",i+1); 10 scanf("%d",&tensu[i]); 11 } 12} 13 14void put_tensu(const int tensu[], int no){ 15 int i; 16 printf("%d人の点数 \n",no); 17 for(i = 0; i < no; i++){ 18 printf("%d番:%d\n",i+1,tensu[i]); 19 } 20} 21 22int main(void){ 23 24 int i,j; 25 int no; //人数 26 int ten[NUMBER]; //点数 27 int swten[NUMBER]; //順位付け点数 28 int max; //最高点 29 int PASSING_MARK; //及第点 30 int crear; //合格者数 31 32 printf("人数を入力してください:"); //***人数を指定*** 33 do{ 34 scanf("%d",&no); 35 if(no < 1 || no > NUMBER) printf("\a1~%dで入力",NUMBER); 36 } 37 while(no < 1 || no > NUMBER); 38 39 get_tensu(&ten[i], no); //***点数入力*** 40 printf("合格点を入力 \n 合格点:"); 41 scanf("%d", &PASSING_MARK); 42 max = ten[1]; 43 44 for(i = 0; i < no; i++){ //***計算を実行する*** 45 if(ten[i] > max) max = ten[i]; //最大値 46 if(ten[i] >= PASSING_MARK) crear++;//合格者数 47 swten[i] = ten[i]; 48 } 49 50 put_tensu(&ten[i], no); //***点数出力*** 51 52 printf("最高:%d\n",max); 53 printf("合格者数:%d\n",crear); 54 55 printf("swten[]\n"); 56 for(i = 0; i < no; i++){ 57 printf("%d\n",swten[i]); 58 } 59 60 printf("ten[]\n"); 61 for(i = 0; i < no; i++){ 62 printf("%d\n",ten[i]); 63 } 64 65 return 0; 66}
試したこと
put_tensu関数の使い方が間違っているのだとは思うのですが、調べても答えが見つかりません。
かなり見難い質問になってしまいましたが、助けていただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/24 05:53
2019/03/24 06:02
2019/03/24 06:06
2019/03/24 06:08
2019/03/24 06:25
2019/03/24 07:18 編集
2019/03/24 07:55
2019/03/24 08:05