ページ 11

入力に関して

Posted: 2010年12月24日(金) 16:14
by gjmatpa
『指定した10個の整数のうち、指定したしきい値以上の個数を出力するプログラム』を
 作成したのが↓のソースです。

この『10個の整数』を指定するときに、横一列に1個1個の間にスペース1つ分あけて入力できるようにするには、
 どのようにプログラムを変えれば良いでしょうか(1回1回改行しないで入力できるようにしたいです)?


#include <stdio.h>
#define N 10

int and_more(int *in, int num, int thres) {
int i, cnt=0;

for (i = 0; i < num; i++) {
if ( in >= thres ) cnt++;
}

return cnt;
}

int main(void) {
int i, thres;
int in[N] = { 0 };

for (i = 0; i < N; i++) {
printf("%2d input num > ", i+1); scanf("%d", &in);
}
printf("input thres > "); scanf("%d", &thres);

printf("%d以上の整数は%d個でした\n", thres, and_more(in, N, thres) );

return 0;
}

Re: 入力に関して

Posted: 2010年12月24日(金) 16:33
by パコネコ
scanf("%d %d %d %d %d %d %d %d %d %d",&in[0],&in[1],&in[2],&in[3],&in[4],&in[5],&in[6],&in[7],&in[8],&in[9]);
でどうでしょうか?

Re: 入力に関して

Posted: 2010年12月24日(金) 16:38
by みけCAT

コード:

#include <stdio.h>
#define N 10

int and_more(int *in, int num, int thres) {
	int i, cnt=0;
	
	for (i = 0; i < num; i++) {
		if ( in[i] >= thres ) cnt++;
	}
	
	return cnt;
}
	
int main(void) {
	int i, thres;
	int in[N] = { 0 };
	
	for (i = 0; i < N; i++) {
		scanf("%d", &in[i]);
	}
	printf("input thres > "); scanf("%d", &thres);
	
	printf("%d以上の整数は%d個でした\n", thres, and_more(in, N, thres) );
	
	return 0;
}
コードは

コード:

タグで囲んでくれるとありがたいです。
これならスペース区切りだろうが改行区切りだろうがいけるはずです。

Re: 入力に関して

Posted: 2010年12月24日(金) 16:48
by さかまき
http://detail.chiebukuro.yahoo.co.jp/qa ... 1452494989
で作ってもらって、ほかで完成させる。
実に楽チンな仕事です。よいマネージャになれますよ。