C言語:翌日(1次元配列~

26139 ワード

8958号
#include <stdio.h>
int main() {
	int num;
	scanf("%d", &num);
	//how many repeat
	for (int i = 0; i < num; i++) {
		char a[80];
		scanf("%s",&a);
		//문자열을 받았지만 문자열의 사이즈가 80이라서 어떻게 for문을 돌려야될지 모르겠다.
        //검색을 통해 알아냄. -> strlen을 쓰면 해결된다.
	}

	return 0;
}
strlen:文字列長の関数を求めることができます.strlenを使用するにはstringを使用します.hが必要です.
#include <stdio.h>
#include <string.h>

int main() {
	int num, sum = 1;
	int result;

	scanf("%d", &num);
	//얼마나 반복할지.
	for (int i = 0; i < num; i++) {
		char a[80];
		scanf("%s",&a);
		for (int i = 0; i < strlen(a); i++) {
			if (a[i] == "o") {
				sum += 1;
				result += sum;
			}
			if (a[i] == "x") {
				sum = 1;
			}
		}
		printf("%d", result);
	}

	return 0;
}
コンパイルエラー...どこが間違っているのか見つからない、ウグイス...
#include <stdio.h>
#include <string.h>

int main() {
	int num, sum, result;
	char a[80];
	scanf("%d", &num);
	
	for (int i = 0; i < num; i++) {
		sum = 1;
		result = 0; //3번째 이상의 줄이 입력될 때 초기화되도록 sum과 result를 for문 안으로 넣어줬다.
		scanf("%s",a);		
		for (int j = 0; j < strlen(a); j++) {
			if (a[j] == 'O') {   //ㅎㅎ...이것때문에 30분은 쓴것같다. 문자열일 때는 "", 문자일때는 ''를 쓴다... 지금은 문자이니까 홑따옴표를 써야한다. ^^
				result += sum;
				sum++;
			}
			if (a[j] == 'X')sum = 1;
		}
		printf("%d\n", result);
	}

	return 0;
}
4344番
#include <stdio.h>
#include <string.h>

int main() {
	double num, student, sum=0;
	double score[1001];
	double pro=0,avg;

	scanf("%lf", &num);
	for (int i = 0; i < num; i++) {
	scanf("%lf", &student);
		for (int i = 0; i < student; i++) {
			scanf("%lf", &score[i]);
			pro += score[i];
		} //합산 계산
		avg = pro / student;
		for (int i = 0; i < student; i++) {
			if (score[i] > avg) sum += 1;
		}
		printf("%.3lf%%", sum / student * 100);
	}

	return 0;
}
間違っています.現れた.Pro student avgの値を確認するために、真ん中に印刷ドアが置いてあります.

そこからお得な値がおかしいと感じます.変更の半分ごとに初期化されますが、ずっと移行しています.
scanfで値を取得したstudent&numを除き、重複文で初期化されます.
**注意すべき点は、%を表すには%を使用する必要があります.
#include <stdio.h>
#include <string.h>

int main() {
	double num, student, sum;
	double score[1001];
	double pro,avg;

	scanf("%lf", &num);
	for (int i = 0; i < num; i++) {
		pro = 0;
		avg = 0;
		sum = 0;
		scanf("%lf", &student);
		for (int i = 0; i < student; i++) {
			scanf("%lf", &score[i]);
			pro += score[i];
		} //합산 계산
		avg = pro / student;
		for (int i = 0; i < student; i++) {
			if (score[i] > avg) sum += 1;
		}
		printf("%.3lf%%\n", sum / student * 100);
	}

	return 0;
}
4673号
自分の番号を探して...
数字を文字に変えてから数字に変えたいのですが、あまりよくありません.どうしようかなううう
パイソンでの解題方法とは違います.数学しかない!!!この問題を全く知らなかったら、できるのでしょうか.
#include <stdio.h>

int nonselfnum(int n);

int main() {
	int arr[10001] = { 0, };
	for (int i = 1; i < 10001; i++) {
		int tep = nonselfnum(i);
		if (tep<10001) arr[tep] = 1;
	}
	for (int i = 1; i < 10001; i++) {
		if (!arr[i]) {		// arr[i]가 존재하지 않으면 조건을 만족하게 된다.
			printf("%d\n", i);
		}
	}

}

int nonselfnum(int n) {
	int sum = n;
	while (n!=0){		//123이 들어오게 되면 
		sum += n % 10;  // 123인 sum에 10으로 나눈 나머지 3이 들어간다.
		n /= 10;		// 이후 n은 10으로 나눈 몫 12가 되어 다시 들어간다.
	}					// 한자리수가 된 n은 /=에서 0이 되어 while문을 탈출하게 된다.
	return sum;
}
繰り返し文が正しく終了しなかったため、実行中にエラーが発生しました.TEPが10000を超える場合を考慮します.
中間でif文を使用して範囲を制限します.