/*문제 1번 스위치문에 값 부분에 왜 정수만 와야하는가?*/
/*정답: 스위치문은 점프 태이블을 사용하는데 점프태이블을 위해서는 정해진 정수만을 입력해야지 변수가 입력되면 사용할 수 없기 때문에 */
/*임의의 실수에서 소수점 이하 두자리수만 추출하여 정수형 변수에 대입하라.
예를들어 사용자로부터 입력받은 실수 f 가 12.3456이라면 34만 추출한다.
이때 반올림은 고려하지 않아도 상관없다.
f 가 달러 단위의 화폐 액수라고할 때 센트 단위만 추출해내는 경우라고 생각하면 된다.
다음 ???? 자리에 적합한 연산식을 작성하는 문제이다
printf("실수를 입력하시오 : ");
scanf("%f", &f);
i = ? ? ? ?
printf("i=%d\n", i);
이 문제의 핵심은 음수이거나 소수점 이하의 자리수가 없는 경우까지 잘 고려하여 항상 잘 동작하는 코드를 만드는것이다.
*/
#include<stdio.h>
int main() {
float f;
printf("실수를 입력하세요");
scanf_s("%f", &f);
int i = (f - (int)f) * 100;
printf("i=%d\n", i);
return 0;
}
//이 문제는 되게 쉽게 풀렸는데 내 코딩 능력이 조금씩 늘고 있다는게 느껴져서 정말 기분이 좋았다.
/*10명의 학생 성적의 평균 구하고 80점 이상이면 합격하는 프로그램 만들기*/
#include<stdio.h>
int main() {
int score[10];
int i;
int sum = 0;
for (i = 0; i < 10; i++) {
printf("%d번째 학생의 점수를 입력하시오.", i + 1);
scanf_s("%d", &score[i]);
sum += score[i];
}
printf("학생들의 평균 점수는 %d\n", sum / 10);
for (i = 0; i < 10; i++) {
if (score >= 80) {
printf("%d번째 학생은 %d점으로 합격입니다.\n", i + 1, score[i]);
}
else {
printf("%d번째 학생은 %d점으로 불합격 입니다\n", i + 1, score[i]);
}
}
return 0;
}
/* 소수 1000개를 찾아보자.*/
#include<stdio.h>
int main() {
int sosu[1000];
int i=3;//for 문 증감연산 변수
int j = 0;//소수 몇번째 인지 표기용
int k;
for (;;) {
if (i % 2 == 1) {
for (k = 0; k <=j; k++) {
if (i % sosu[k] == 0) {
break;
}
if (k == j) {
sosu[j] = i;
j++;
break;
}
}
}
if (j == 1000) {
break;
}
i++;
}
printf("1번째 소수는 2입니다\n");
for (i = 0; i < 1000; i++) {
printf("%d번째 소수는 %d입니다.\n", i + 2, sosu[i]);
}
return 0;
}//이 문제는 스스로 풀어봤고 재미있었다. 이게 코딩의 재미인 것 같다ㅎㅎ.
/* 소수 프로그램 */
#include <stdio.h>
int main() {
/* 우리가 소수인지 판별하고 있는 수 */
int guess = 5; /* 소수의 배열 */
int prime[1000]; /* 현재까지 찾은 (소수의 개수 - 1) 아래 두 개의 소수를
미리 찾았으므로 초기값은 1 이 된다. */
int index = 1; /* for 문 변수 */
int i; /* 소수인지 판별위해 쓰이는 변수*/
int ok; /* 처음 두 소수는 특별한 경우로 친다 */
prime[0] = 2;
prime[1] = 3;
for (;;) {
ok = 0;
for (i = 0; i <= index; i++) {
if (guess % prime[i] != 0) {
ok++;
} else {
break;
}
}
if (ok == (index + 1)) {
index++;
prime[index] = guess;
printf("소수 : %d \n", prime[index]);
if (index == 999) break;
}
guess += 2;
}
return 0;
}//모범 답안
이 글은 코딩 꼬꼬마 시절에 푼 문제를 보관한 글로 네이버에 저장해둔 글을 옮긴 글입니다.
혹시나 참고하시는 부분에 이상한 부분이나 질문이 생긴다면 남겨주시면 친절히 답변 드리겠습니다.
728x90
'초기 네이버 기록 > 과거 공부 기록' 카테고리의 다른 글
헷갈릴때 보기! 예제 포인터의 포인터 인자로 받는 함수 (0) | 2023.01.07 |
---|---|
씹어먹는 C언어 함수 공부 저장 (3) | 2023.01.07 |
오래 걸린 문제(성적 순 배열 및 막대 그래프 출력 문제)(씹어먹는C언어) (0) | 2023.01.07 |
씹어먹는 C언어코딩 공부 (0) | 2023.01.06 |
씹어먹는 C언어첫번째 코딩 과제 2022. 1. 7. 23:43 (2) | 2023.01.05 |