1. while을 for 로 바꿔보기
// 2^0, 2^1, 2^2... 해서 1,2,4,8..출력하기
#include<stdio.h>
int main() {
int n;
scanf_s("%d", &n);
int i = 0, t = 1;
while (i <= n) {
printf("2^%d = %d\n", i, t);
i++;
t *= 2;
}
}
결과 :
int main() {
int n;
scanf_s("%d", &n);
int t = 1;
for (int i = 0; i <= n; i++) {
printf("2^%d= %d\n", i, t);
t *= 2;
}
}
for문 안에 t=1을 집어 넣고 싶을때 ->
for(int i = 0, t=1; i <=n; i++) 이렇게 하면 됨.
t *=2도 for문 안에 집어넣을 수 있음
for(int i =0, t=1;i<=n;i++, t*=2)
int main() {
int n;
scanf_s("%d", &n);
for (int i = 0,t = 1; i <= n; i++, t *= 2) {
printf("2^%d= %d\n", i, t);
}
}
2. 1~n까지 합 구하기
int main() {
int n;
scanf_s("%d", &n);
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
printf("%d\n", sum);
}
int main() {
int n;
scanf_s("%d", &n);
int i, sum;
for (i = 1, sum = 0; i <= n; sum += i, i++);
printf("%d\n", sum);
}
1) sum += i 를 for문안에 넣을때 i++이랑 실행 순서를 생각해서
sum += i 을 먼저 실행해야 하니까
sum += i, i++ 이렇게 적어야 함.
2) 중괄호 { } 안에 아무것도 없으면 그냥 ; 세미콜론 하나만 적으면 된다.
3. break 이용해서 답이 나올때 까지 계속 입력하기
#include<stdio.h>
int main() {
for (int i = 1; ; i++) {
int k;
scanf_s("%d", &k);
if (k == 0) {
break;
}
printf("%d 번째: %d\n", i, k);
}
}
결과;
4. continue
3의 배수만 빼고 더하기
int main() {
int n;
scanf_s("%d", &n);
//1+2+4+5+7+8+10+11+13...
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 3 != 0) {
sum += i;
}
}
printf("%d\n", sum);
}
int main() {
int n;
scanf_s("%d", &n);
//1+2+4+5+7+8+10+11+13
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 3 == 0) {
continue;
}
sum += i;
}
printf("%d\n", sum);
}
5. 중첩 for 문
1) 정사각형 별 출력하기
int main() {
int n;
scanf_s("%d", &n);
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= n; i++) {
printf("*");
}
printf("\n");
}
}
결과:
2)
int main() {
int n;
scanf_s("%d", &n);
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= k; i++) {
printf("*");
}
printf("\n");
}
}
결과:
3)
int main() {
int n;
scanf_s("%d", &n);
for (int k = 0; k < n; k++) {
for (int i = 1; i <= k*2+1; i++) {
printf("*");
}
printf("\n");
}
}
결과:
4)
int main() {
int n;
scanf_s("%d", &n);
for (int k = 0; k < n; k++) {
for (int j = k; j < n - 1; j++){
printf(" ");
}
for (int i = 1; i <= k*2+1; i++) {
printf("*");
}
printf("\n");
}
}
결과:
6. 시험 점수를 입력받고 90~100은 A 출력, 80~89 는 B 출력, 70~79 는 C, 60~69는 D
int main() {
int score;
scanf_s("%d", &score);
if (score <= 100 && score >= 90) {
printf("A");
}
else if (score >= 80 && score < 90) {
printf("B");
}
else if (score >= 70 && score < 80) {
printf("C");
}
else if (score >= 60 && score < 70) {
printf("D");
}
else {
printf("F");
}
}
int main() {
int score;
scanf_s("%d", &score);
if (score > 100 || score < 0) {
printf("잘못입력하셨습니다.");
}
else {
if (score >= 90) {
printf("A");
}
else if (score >= 80) {
printf("B");
}
else if (score >= 70) {
printf("C");
}
else if (score >= 60) {
printf("D");
}
else {
printf("F");
}
}
}
int main() {
int score;
scanf_s("%d", &score);
if (score > 100 || score < 0) {
printf("잘못입력하셨습니다.");
}
else if (score >= 90) {
printf("A");
}
else if (score >= 80) {
printf("B");
}
else if (score >= 70) {
printf("C");
}
else if (score >= 60) {
printf("D");
}
else {
printf("F");
}
}
전체 들여쓰기 하려면 마우스로 구역 선택하고 shift + tab
7. 숫자 입력하고 만약에 12입력했다고 하면 12의 약수들을 출력 (1,2,3,4,6,12)
int main() {
int num;
scanf_s("%d", &num);
for (int i = 1; i <= num; i++) {
if (num % i == 0) {
printf("%d,", i);
}
}
}
결과:
맨 끝에 쉼표 없앨라면
int main() {
int num;
scanf_s("%d", &num);
for (int i = 1; i <= num/2; i++) {
if (num % i == 0) {
printf("%d,", i);
}
}
printf("%d", num);
}
결과 :
8. 3,6,9 게임 하기
일의 자리수가 3의 배수인 경우 * 으로 표시
1 2 * 4 5 * 7 8 * 10 11 12 * 14 15 * 17
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
int k = i % 10;
if (k % 3) {
printf("%d ", i);
}
else if (k == 0) {
printf("%d ", i);
}
else {
printf("* ");
}
}
}
아니면 if (k == 3 || k == 6 || k == 9) 사용하기
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
int k = i % 10;
if (k == 3 || k == 6 || k == 9) {
printf("* ");
}
else {
printf("%d ", i);
}
}
}
9. 숫자 피라미드 만들기
n = 4 일 경우에
1
13
135
1357
이런식으로
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1 , k = 1 ; j < i; j++) {
printf("%d ",k);
k += 2;
}
printf("\n");
}
}
또는
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j < i; j++) {
printf("%d ", 2*j-1);
}
printf("\n");
}
}
결과 :
10. n= 4 일 경우에
1
123
12345
1234567
이런식으로 되는 피라미드 만들기
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j < 2 * i; j++){
printf("%d", j);
}
printf("\n");
}
}
결과 :
두번째 방법
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= 2*n-1; i += 2) {
for (int j = 1; j <=i; j++){
printf("%d", j);
}
printf("\n");
}
}
'개발자' 카테고리의 다른 글
두들낙서 C/C ++ 22강, 23강 2차원 배열, 문자열 함수 strlen, strcpy, strcat, strcmp (0) | 2022.06.17 |
---|---|
두들낙서 20강, 21강 정리 - 배열 (거꾸로 출력, 최대 최소, 짝수의 개수) (0) | 2022.06.16 |
두들낙서 12강 ~16강 정리 (0) | 2022.06.15 |
두들낙서 C/C++강좌 7강, 8강, 9강 (0) | 2022.06.14 |
3.76시간은 몇시간, 몇분, 몇 초인지 출력하세요 (0) | 2022.05.02 |
댓글