ch11 1차원배열

암영·2022년 5월 7일
0

c언어

목록 보기
16/21

11-1

#include <stdio.h>

int main()
{
	int arr[5];
	int sum = 0, i;

	arr[0] = 10, arr[1] = 20, arr[2] = 30, arr[3] = 40, arr[4] = 50;

	for (i = 0; i < 5; i++)
		sum += arr[i];

	printf("배열요소에 저장된 값의 합: %d \n", sum);
	return 0;
}
#include <stdio.h>

int main()
{
	int arr1[5] = { 1,2,3,4,5 };
	int arr2[] = { 1,2,3,4,5,6,7 };
	int arr3[5] = {1,2};
	int ar1len, ar2len, ar3len, i;

	printf("배열 arr1의 크기 :%d \n", sizeof(arr1));
	printf("배열 arr2의 크기 :%d \n", sizeof(arr2));
	printf("배열 arr3의 크기 :%d \n", sizeof(arr3));

	ar1len = sizeof(arr1) / sizeof(int); //배열 arr1의 길이 계산
	ar2len = sizeof(arr2) / sizeof(int); //배열 arr2의 길이 계산
	ar3len = sizeof(arr3) / sizeof(int); //배열 arr3의 길이 계산

	for (i = 0; i < ar1len; i++)
		printf("%d", arr1[i]);
	printf("\n");

	for (i = 0; i < ar2len; i++)
		printf("%d", arr2[i]);
	printf("\n");

	for (i = 0; i < ar3len; i++)
		printf("%d", arr3[i]);
	printf("\n");

	return 0;
}

문제 11-1
1.
답이 나오지 않는코드

#include <stdio.h>

int main()
{
	int num[5];
	int max, min;
	int i = 1;
	int j = 1;
	int sum = 0, s = 0;
	scanf_s("%d %d %d %d %d", &num, &num, &num, &num, &num);
	max = num[0];
	min = num[0];
	for (s = 0; s < 5; s++)
	{
		sum += num[s];
	}
	while (i < 5)
	{
		if (max > num[i])
			i++;
		else
		{
			max = num[i];
			i++;
		}


	}
	while (j < 5)
	{
		if (min < num[j])
			j++;
		else
		{
			min = num[j];
			j++;
		}


	}
	

	printf("입력된 정수중 최댓값 : %d", max);
	printf("입력된 정수중 최솟값 : %d", min);
	printf("입력된 정수의 총합: %d", sum);


	return 0;
}

정답

#include <stdio.h>

int main()
{
	
	int arr[5];
	int max, min, sum, i;

	for (i = 0; i < 5; i++)
	{
		printf("입력");
		scanf_s("%d", &arr[i]);
	}

	max = min = sum = arr[0];
	for (i = 0; i < 5; i++)
	{
		sum += arr[i];
		if (max < arr[i])//이렇게for문이랑 if문을 작성하면 아까처럼 복잡하게 안써도 됨!
			max = arr[i];
		if (min > arr[i])
			min = arr[i];
	}
	printf("입력된 정수중 최댓값 : %d\n", max);
	printf("입력된 정수중 최솟값 : %d\n", min);
	printf("입력된 정수의 총합: %d\n", sum);


	return 0;
}

#include <stdio.h>

int main()
{
	
	//char arr[]={"Good time"}; 이렇게 써도 나오긴 나오는데 틀린건가??4
	char arr[]={ 'G','o','o','d', 't','i','m','e' };

	int arlen = sizeof(arr) / sizeof(char);

	int i = 0;
	for (i = 0; i < arlen; i++)
	{
		

		printf("%c", arr[i]);

	}




	return 0;
}

코드를 입력하세요

11-2

#include<stdio.h>
int main()
{
	char str[] = "Good morning!";
	printf("배열 str의 크기: %d \n", sizeof(str));
	printf("널문자의 문자형 출력 : %c\n", str[13]);
	printf("널문자의 정수형 출력: %d\n", str[13]);

	str[12] = '?'; //배열str에 저장된 문자열 데이터는 변경가능!
	printf("문자열 출력: %s\n", str);
	return 0;
}
profile
just do! -얼레벌레 굴러가는 공대생

0개의 댓글