入力に関して

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
gjmatpa

入力に関して

#1

投稿記事 by gjmatpa » 9年前

『指定した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;
}

アバター
パコネコ
記事: 139
登録日時: 9年前
住所: 大阪

Re: 入力に関して

#2

投稿記事 by パコネコ » 9年前

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]);
でどうでしょうか?
ニャン!!\(゜ロ\)(/ロ゜)/

アバター
みけCAT
記事: 6247
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: 入力に関して

#3

投稿記事 by みけCAT » 9年前

コード:

#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;
}
コードは

コード:

タグで囲んでくれるとありがたいです。
これならスペース区切りだろうが改行区切りだろうがいけるはずです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
さかまき
記事: 92
登録日時: 9年前

Re: 入力に関して

#4

投稿記事 by さかまき » 9年前

http://detail.chiebukuro.yahoo.co.jp/qa ... 1452494989
で作ってもらって、ほかで完成させる。
実に楽チンな仕事です。よいマネージャになれますよ。

閉鎖

“C言語何でも質問掲示板” へ戻る