목차
Algorithm Report
-5*5 행렬-
-추가 과제: Loop 운영 방법에 대한 비교-
-5*5 행렬-
-추가 과제: Loop 운영 방법에 대한 비교-
본문내용
-(추가) 과제 2. Loop 운영 방법에 대한 비교-
// 문제 A : 임의의 자료 5개의 누적합을 구하는 프로그램과 그 출력 결과를 display하라
<소스 코드>
#include
#include
/*
문제 A는 main 함수의 매개변수 argc, *argv[] 를 이용하여
command 창으로 부터 자료를 입력받고
그 정보를 이용하여 누적합을 구하였다.
*/
// arc: 커맨트 창으로 입력된 자료의수가 저장됨
// *argv[]: 커맨트 창으로 된 자료가 배열의 0번째 index 부터 차례대로 저장됨
void main(int argc, char *argv[])
{
int i;
int sum = 0;
// 입력된 자료형의 개수만큼 반복해서 sum 변수에 누적
// atoi 는 string 형으로 저장된 데이터를 interger 형으로 변환시키는 함수
// argv에 넘겨 받은 인자는 string 형 이기때문에 숫자로 사용되기 위해 atoi 함수를 사용
for(i=1; i
{
sum = sum + atoi(argv[i]);
// 입력된 숫자를 출력해준다.
printf("%d번째 수: %s\n", i, argv[i]);
}
printf("\n");
// 총 입력한 자료의 수를 나타낸다.
// argc 에 -1을 한이유는 파일이름도 argc 개수에 카운터 되기때문 이다.
printf("입력한 자료의 수 : %d\n", argc-1);
printf("%d 개의 입력된 자료의 총 합 : %d\n",argc-1, sum);
}
<문제A 출력>
(문제B는 두가지 경우를 따져서 프로그래밍 해보았습니다.)
// 문제 B-1 : 임의의 자료를 입력하여 누적합을 구하라. 마지막 자료 0이 입력되면 누적을 멈추라
<소스 코드>
void main()
{
int i;
int sum = 0; // 누적 합 변수
int input_data; // 입력 변수
int ic = 0; // 입력 횟수 카운터
printf("0을 입력하면 종료\n");
while(1)
{
ic++;
printf("%d 번째 정수를 입력하세요: ", ic);
scanf("%d", &input_data);
sum += input_data;
if(input_data == 0){
break;
}
}
printf("sum : %d\n", sum);
}
<문제B-1 출력>
(문제B-1은 숫자를 입력 받다가 0을 입력받으면 이전까지 입력 받은 수의 총합을 계산합니다.)
// 문제 B-2 : 임의의 자료를 입력하여 누적합을 구하라. 마지막 자료 0이 입력되면 누적을 멈추라
<소스 코드>
/*
문제 B-2은 main 함수의 argc, *argv[] 를 사용하여 외부에서 자료를 입력받고
command 창으로 부터 입력 받은 자료중 0이 나오기 전까지의 합계를 출력하고
입력 횟수를 출력한다.
그 정보를 이용하여 누적합을 구하였다.
*/
void main(int argc, char *argv[])
{
int sum = 0; // 누적 합 변수
int ic = 0; // 입력 횟수 카운터
while(ic < argc)
{
ic++;
sum = sum + atoi(argv[ic]);
printf("%d번째 수: %s\n", ic, argv[ic]);
if(atoi(argv[ic]) == 0){
break;
}
}
printf("\n입력된 수의 개수(ic로 카운터한 결과) : %d 개\n\n", ic);
printf("입력된 수의 개수(argc-1 로 입력받은 자료 추출한 결과) :
%d 개\n\n", argc-1);
printf("ic로 카운터한 결과 [ %d ]와\nargc-1 로 입력받은 자료 추출한
결과[ %d ]가 같다. \n",ic, argc-1);
printf("입력된 수의 총합 : %d\n", sum);
}
<문제B-2 출력>
(문제B-2은 argc, *argv[] 를 사용하여 외부에서 자료를 입력받고 command 창으로 부터 입력 받은 자료중 0 이 나오기 전 까지의 합을 계산하여 출력합니다.)
입력을 받을때마다 count 해주었던 ic 변수와 argc-1(총 입력받은 데이터의 수가 저장)의 개수는 같다.
하지만, 아래 결과는 다르다. 이 경우에는 1 2 3 4 5 0 6을 외부에서
입력 하였는데 0을 만났을 때 까지 ic에서 카운터 하였고, argc는 실제 입력된 자료의 양이기 때문에 다를 수 있다.
// 문제 A : 임의의 자료 5개의 누적합을 구하는 프로그램과 그 출력 결과를 display하라
<소스 코드>
#include
#include
/*
문제 A는 main 함수의 매개변수 argc, *argv[] 를 이용하여
command 창으로 부터 자료를 입력받고
그 정보를 이용하여 누적합을 구하였다.
*/
// arc: 커맨트 창으로 입력된 자료의수가 저장됨
// *argv[]: 커맨트 창으로 된 자료가 배열의 0번째 index 부터 차례대로 저장됨
void main(int argc, char *argv[])
{
int i;
int sum = 0;
// 입력된 자료형의 개수만큼 반복해서 sum 변수에 누적
// atoi 는 string 형으로 저장된 데이터를 interger 형으로 변환시키는 함수
// argv에 넘겨 받은 인자는 string 형 이기때문에 숫자로 사용되기 위해 atoi 함수를 사용
for(i=1; i
sum = sum + atoi(argv[i]);
// 입력된 숫자를 출력해준다.
printf("%d번째 수: %s\n", i, argv[i]);
}
printf("\n");
// 총 입력한 자료의 수를 나타낸다.
// argc 에 -1을 한이유는 파일이름도 argc 개수에 카운터 되기때문 이다.
printf("입력한 자료의 수 : %d\n", argc-1);
printf("%d 개의 입력된 자료의 총 합 : %d\n",argc-1, sum);
}
<문제A 출력>
(문제B는 두가지 경우를 따져서 프로그래밍 해보았습니다.)
// 문제 B-1 : 임의의 자료를 입력하여 누적합을 구하라. 마지막 자료 0이 입력되면 누적을 멈추라
<소스 코드>
void main()
{
int i;
int sum = 0; // 누적 합 변수
int input_data; // 입력 변수
int ic = 0; // 입력 횟수 카운터
printf("0을 입력하면 종료\n");
while(1)
{
ic++;
printf("%d 번째 정수를 입력하세요: ", ic);
scanf("%d", &input_data);
sum += input_data;
if(input_data == 0){
break;
}
}
printf("sum : %d\n", sum);
}
<문제B-1 출력>
(문제B-1은 숫자를 입력 받다가 0을 입력받으면 이전까지 입력 받은 수의 총합을 계산합니다.)
// 문제 B-2 : 임의의 자료를 입력하여 누적합을 구하라. 마지막 자료 0이 입력되면 누적을 멈추라
<소스 코드>
/*
문제 B-2은 main 함수의 argc, *argv[] 를 사용하여 외부에서 자료를 입력받고
command 창으로 부터 입력 받은 자료중 0이 나오기 전까지의 합계를 출력하고
입력 횟수를 출력한다.
그 정보를 이용하여 누적합을 구하였다.
*/
void main(int argc, char *argv[])
{
int sum = 0; // 누적 합 변수
int ic = 0; // 입력 횟수 카운터
while(ic < argc)
{
ic++;
sum = sum + atoi(argv[ic]);
printf("%d번째 수: %s\n", ic, argv[ic]);
if(atoi(argv[ic]) == 0){
break;
}
}
printf("\n입력된 수의 개수(ic로 카운터한 결과) : %d 개\n\n", ic);
printf("입력된 수의 개수(argc-1 로 입력받은 자료 추출한 결과) :
%d 개\n\n", argc-1);
printf("ic로 카운터한 결과 [ %d ]와\nargc-1 로 입력받은 자료 추출한
결과[ %d ]가 같다. \n",ic, argc-1);
printf("입력된 수의 총합 : %d\n", sum);
}
<문제B-2 출력>
(문제B-2은 argc, *argv[] 를 사용하여 외부에서 자료를 입력받고 command 창으로 부터 입력 받은 자료중 0 이 나오기 전 까지의 합을 계산하여 출력합니다.)
입력을 받을때마다 count 해주었던 ic 변수와 argc-1(총 입력받은 데이터의 수가 저장)의 개수는 같다.
하지만, 아래 결과는 다르다. 이 경우에는 1 2 3 4 5 0 6을 외부에서
입력 하였는데 0을 만났을 때 까지 ic에서 카운터 하였고, argc는 실제 입력된 자료의 양이기 때문에 다를 수 있다.
추천자료
sort에 관한 프로그램을 짜오거나 조사하기 : C언어로
신호와 시스템 (그래프 그리기- C언어를 이용한 맥놀이 현상의 해석)
Binomial random variable X의 distribution C언어 구현
[castlenine]C언어 요점정리
명함관리 프로그램 발표(c언어)
자기소개서 카운팅 발표(c언어)
전기요금계산 프로그램 발표(c언어)
6족 로봇 보행 발표(c언어)
전화번호 관리 프로젝트 단순연결리스트를 이용한 c언어 자료구조
테트리스(C언어)
2013 장애인 기능경기 대회 1과제 C언어 답안 (프랜차이즈 커피전문점에서 상품별 판매실적 ...
MAZE 확장[자료구조/자료구조및실험/c언어/c#/ Maze problem/Maze/Maze problem/미로/미로찾기]
소개글