학교 수업/1-1, 1-2 코딩 기초 (파이썬, C)
[C 프로그래밍: 새내기를 위한 첫 C 언어 책] 실습 6주차
70825
2020. 10. 5. 17:35
반응형
CHAPTER 7 연습문제, CHAPTER 8 추가 문제
챕터 7 8번
#include <stdio.h>
#include <math.h>
int main()
{
int x[6], n = 5;
double m = 0, ans = 0;
for (int i = 0; i < 5; i++)
{
printf("x[%d] = ", i);
scanf_s("%d", &x[i]);
m += x[i];
}
m /= 5;
for (int i = 0; i < 5; i++)
{
ans += pow(x[i] - m, 2) / n;
}
printf("\n평균: %.1lf\n", m);
printf("\n표준편차: %.1lf", pow(ans,0.5));
return 0;
}
챕터 7 9번
#include <stdio.h>
#define SWAP(x,y) (x=x^y, y=x^y, x=x^y)
int main()
{
int freeze[11];
for (int i = 0; i < 10; i++) {
printf("%d번째 온도: ",i+1);
scanf_s("%d", &freeze[i]);
}
for(int i=0; i<10; i++)
{
for(int j=i+1; j<10; j++)
{
if(freeze[i]>freeze[j]) SWAP(freeze[i],freeze[j]);
}
}
printf("\n어는 점 목록: ");
for(int i=0; i<10; i++){
printf("%d ", freeze[i]);
}
printf("\n가장 높은 어는 점: freeze[9] = %d", freeze[9]);
return 0;
}
챕터7 12번
학생 수 4명, 문제 수 5개로 줄임
출력형태, STUDENT, N, paper, answer, num을 고치면 학생 10명, 문제 10개로 수정 가능함
#include <stdio.h>
#define SWAP(x,y) (x=x^y,y=x^y,x=x^y)
#define STUDENT 5
#define N 6
int main()
{
int paper[STUDENT][N] = {
{1,3,2,3,4},{1,2,2,2,4},
{4,3,2,3,4},{1,3,2,2,4}
};
int answer[N] = { 1,3,2,3,4};
int num[N] = { 1,2,3,4,5};
int score[N] = { 0 };
int res[STUDENT][N] = { 0 };
for (int i = 0; i < N-1; i++)
for (int j = 0; j < N-1; j++)
if (paper[i][j] == answer[j])
{
res[i][j] = 1;
score[i] += 1;
}
printf("\n ■ 문항별 채점 결과 ■\n");
printf("=============================\n");
printf(" 문항 0 1 2 3 4 점수\n");
printf("=============================\n");
for (int i = 0; i < N-1; i++)
{
(i != 9) ? printf(" %d번 ", i + 1) : printf(" %d번 ",i+1);
for (int j = 0; j < N-1; j++)
(res[i][j]) ? printf("O ") : printf("X ");
(score[i] != 10) ? printf(" %d점\n", score[i]) : printf("%d점\n", score[i]);
}
printf("=============================\n\n\n");
for(int i = 0; i< N-1; i++)
for (int j = i + 1; j < N-1; j++)
if (score[i] > score[j] || (score[i] == score[j] && i < j))
{
SWAP(score[i], score[j]);
SWAP(num[i], num[j]);
}
printf(" ■ 정렬 및 석차 ■\n");
printf(" ====================\n");
printf(" 번호 점수 석차\n");
printf(" ====================\n");
for (int i = N-2; i >= 0; i--)
printf(" %d번 %d점 %d등\n", num[i], score[i], N - 1 - i);
return 0;
}
챕터8
두 정수를 입력받아 각각을 제곱한 값의 합계를 구하는 프로그램을 작성하시오.
p.321처럼 함수를 먼저 만들거나,p.324처럼 먼저 함수 원형을 선언하고 나중에 함수를 만들기
이 두가지 방법으로 각각 작성
p.321
#include <stdio.h>
int square(int x, int y)
{
x = x * x;
y = y * y;
return x + y;
}
int main()
{
int a, b;
printf("두 정수를 입력: ");
scanf_s("%d %d", &a, &b);
printf("\n제곱한 값의 합계 = %d\n", square(a, b));
return 0;
}
p.324
#include <stdio.h>
int square(int x, int y);
int main()
{
int a, b;
printf("두 정수를 입력: ");
scanf_s("%d %d", &a, &b);
printf("\n제곱한 값의 합계 = %d\n", square(a, b));
return 0;
}
int square(int x, int y)
{
x = x * x;
y = y * y;
return x + y;
}
반응형