현재 위치 - 주공해몽공식사이트 - 랜덤 번호 뽑기 점술 - C 언어 문제

C 언어 문제

일반적으로 "계산기" 를 시뮬레이션하거나 고전적인 프로그램을 더 많이 읽는 것과 같은 실용적인 애플릿을 작성해 볼 수 있습니다.

첨부: 클래식 프로그램 30

프로그램 1

제목: 1, 2, 3, 4 개 숫자가 있습니다. 너는 몇 개의 다른 세 자릿수를 편성할 수 있니? 그들은 모두 얼마입니까?

1. 프로그램 분석: 채울 수 있는 10 단위 수는 모두 1, 2, 3, 4 입니다. 가기 전에 모든 일을 잘 안배해라

부적격한 스케줄을 삭제하다.

2. 프로그램 소스 코드:

주 ()

{

Int I, j, k;

Printf ("\ n");

For (I =1; 나<5; I++)/* 다음은 트리플 사이클 */

For (j =1; J<5; J++)

For (k =1; K<5; K++)

{

만약! = k & amp& amp 나! = j & amp& ampj! =k) /* I, j, k 가 서로 다른지 확인 */

Printf("%d, %d, %d\n ",I, j, k);

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

절차 2

제목: 기업이 보너스를 주는 것은 이윤을 기초로 한다. 이익 (I) 이 654.38+ 만원보다 작거나 같을 경우 보너스 654.38+00% 를 늘릴 수 있습니다. 고수익

654.38+ 만원, 20 만원 미만, 654.38+ 만원 이하 부분에 654.38+00% 커미션 지불, 654.38+ 만원 이상 부분은 언급할 수 있습니다.

7.5%; 20 만 ~ 40 만원 사이, 20 만원 이상 부분은 5% 를 공제할 수 있습니다. 400,000 에서 600,000 사이

40 만 원의 부분은 3% 를 공제할 수 있다. 60 만원에서 654.38+0 만원 사이, 60 만원 이상 부분은 654.38+0.5% 를 공제해 보다 높다.

1 만원일 때 1 만원을 초과하는 부분 공제 1%. 키보드에서 해당 월의 이익 I 를 입력하여 보너스 총액을 지급해야 합니다.

1. 프로그램 분석: 디지털 축으로 위치를 정하세요. 보너스는 성장 정수로 정의되어야 합니다.

2. 프로그램 소스 코드:

주 ()

{

Long int I;;

Int bonus 1, bonus2, bonus4, bonus6, bonus 10, bonus;

Scanf("%ld ",& ampi);

Bonus1=100000 * 0.1; Bonus2 = bonus1+100000 * 0.75;

Bonus4 = bonus2+200000 * 0.5;

Bonus6 = bonus4+200000 * 0.3;

Bonus10 = bonus 6+400000 * 0.15;

만약 (나<= 100000)

보너스 = I * 0.1;

Else if(I & lt;; =200000)

Bonus = bonus1+(I-100000) * 0.075;

Else if(I & lt;; =400000)

Bonus = bonus 2+(I-200000) * 0.05;

Else if(I & lt;; =600000)

Bonus = bonus 4+(I-400000) * 0.03;

Else if(I & lt;; = 1000000)

Bonus = bonus 6+(I-600000) * 0.015;

기타

Bonus = bonus10+(I-1000000) * 0.01;

Printf ("보너스 =%d", 보너스);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

절차 3

제목: 정수, 100 을 더하면 완전한 제곱수, 168 을 더하면 완전한 제곱수가 됩니다. 숫자는 얼마입니까?

1. 방안 분석: 판단이 65438+ 백만 이내라면 약을 처방하기 전에 이 수에 100 을 더하고 약을 처방하기 전에 이 수에 268 을 더한다. 만약 규정이라면,

결과는 다음 조건을 충족시킵니다. 즉, 결과입니다. 구체적인 분석을 보십시오.

2. 프로그램 소스 코드:

# "math.h" 포함

주 ()

{

Long int I, x, y, z;

For (I =1; 나< 100000; I++)

{x = sqrt (I+100); /*x 는 처방전에 100 을 더한 결과 */

Y = sqrt (I+268); /*y 는 168 을 더한 결과 */

If (x * x = = I+100 & & ampY*y==i+268)/* 한 수의 제곱근의 제곱근이 그 수와 같으면 그 수는 완전한 제곱수 */

Printf("\n%ld\n ",I);

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

절차 4

제목: 한 해의 어느 날을 입력하여 이 날이 1 년 중 어느 날인지 결정합니다.

1. 방안 분석: 3 월 5 일을 예로 들면 처음 두 달을 더하고 5 일을 더하면 올해 이날이 더 특별합니다.

윤년의 경우 입력 월이 3 보다 크면 1 일을 더 추가하는 것을 고려해야 합니다.

2. 프로그램 소스 코드:

주 ()

{

일, 월, 년, 윤일;

Printf(" \ n 년, 월, 일 \ n ");

Scanf("%d, %d, %d ",& 연도& 월& 일);

Switch(month)/* 한 달 전 한 달 동안의 총 일 수 계산 */

{

사례1:sum = 0; 깨뜨리다

사례 2: 합계 = 31; 깨뜨리다

사례 3: 합계 = 59 휴식;

상황 4: 합계 = 90 휴식;

시나리오 5: 합계 =120; 깨뜨리다

시나리오 6: 합계 =151; 깨뜨리다

시나리오 7: 합계 =181; 깨뜨리다

시나리오 8: 합계 = 212; 깨뜨리다

사례 9: 합계 = 243; 깨뜨리다

시나리오10: 합계 = 273; 깨뜨리다

사례11:sum = 304; 깨뜨리다

시나리오12: 합계 = 334; 깨뜨리다

기본값: printf ("데이터 오류"); 깨뜨리다

}

합계 = 합계+일; /*+하루 중 일 수 */

If (연도% 400 = = 0 | | (연도% 4 = = 0 & & amp 연도% 100! =0))/* 윤년인지 여부를 결정합니다 */

Leap =1;

기타

윤일 = 0;

If (leap = =1& & amp 월 & gt2)/* 윤년이고 월이 2 보다 크면 총 일수에 하루 */

Su m++;

Printf ("오늘은 %dth 일입니다." " , 합계); }

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 5

제목: 정수 x, y, z Y, z 세 개를 입력하세요. 작은 것부터 큰 것까지 이 세 숫자를 출력해 주세요.

1. 프로그램 분석: 우리는 가능한 가장 작은 숫자를 X 에 올려놓고 먼저 X 와 Y 를 비교한다. X >;; X 와 y 의 값을 교환합니다.

그런 다음 x >;; Z x 와 z 의 값을 교환하면 x 가 최소화됩니다.

2. 프로그램 소스 코드:

주 ()

{

Int x, y, z, t;

Scanf("%d%d%d ",& ampx & amp;; Y & amp;; Z);

If(x & gt;; Y)

{t = x;; X = y;; Y = t;; }/* x 와 y 의 값 교환 */

If(x & gt;; Z)

{t = z;; Z = x;; X = t;; }/* x 와 z 의 값 교환 */

(y>Z) 인 경우

{t = y;; Y = z;; Z = t;; }/* z 와 y 의 값 교환 */

Printf ("작은 것부터 큰 것까지: %d %d %d\n", x, y, z);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

절차 6

제목: 문자 c 의 패턴을 * 로 출력합니다.

1. 프로그램 분석: 먼저' *' 로 종이에 문자 c 를 쓴 다음 한 줄씩 출력할 수 있습니다.

2. 프로그램 소스 코드:

#' stdio.h' 포함

주 ()

{

Printf ("안녕하세요 C-world! \ n ");

Printf(" * * * * \ n "););

Printf ("* \ n");

Printf ("* \ n");

Printf(" * * * * \ n "););

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

절차 7

제목: 특수 도안을 출력하세요. C 환경에서 실행해 보세요. 너무 예뻐요!

1. 프로그램 분석: 256 자 * * *. 다른 캐릭터, 다른 그래픽.

2. 프로그램 소스 코드:

#' stdio.h' 포함

주 ()

{

Char a= 176, b = 219;

Printf("%c%c%c%c%c\n ",b, a, a, a, b);

Printf("%c%c%c%c%c\n ",a, b, a, b, a);

Printf("%c%c%c%c%c\n ",a, a, b, a, a);

Printf("%c%c%c%c%c\n ",a, b, a, b, a);

Printf("%c%c%c%c%c\n ",b, a, a, a, b); }

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

절차 8

제목: 출력 9*9 공식.

1. 프로그램 분석: 분기 열 고려 사항, ***9 행 9 열, I 제어 행, j 제어 열.

2. 프로그램 소스 코드:

#' stdio.h' 포함

주 ()

{

Int I, j, result

Printf ("\ n");

For (I =1; 나< 10; I++)

{for (j =1; J< 10; J++)

{

결과 = I * j;;

Printf("%d*%d=%-3d ",I, j, result); /*-3d 는 왼쪽 정렬을 나타내며 3 자리 */

}

Printf ("\ n"); /* 각 줄 뒤에서 줄 바꿈 */

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

절차 9

제목: 바둑판 출력이 필요합니다.

1. 절차 분석: I 제어줄, j 제어줄, I+J 합계의 변화에 따라 출력 검은색 상자 또는 흰색 정사각형을 제어합니다.

2. 프로그램 소스 코드:

#' stdio.h' 포함

주 ()

{

Int I, j;

For(I = 0;; 나<8; I++)

{

For(j = 0;; J<8; J++)

((i+j)%2==0 인 경우

Printf("%c%c ",2 19, 219);

기타

Printf ("");

Printf ("\ n");

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 10

제목: 계단을 인쇄하고 계단 맨 위에 웃는 얼굴 두 장을 인쇄합니다.

1. 프로그램 분석: I 제어줄, J 제어열, J 는 I 의 변화에 따라 출력 검은색 상자의 수를 제어합니다.

2. 프로그램 소스 코드:

#' stdio.h' 포함

주 ()

{

Int I, j;

Printf ("\1\1\ n"); /* 웃는 얼굴 두 장 출력 */

For (I =1; 나< 1 1; I++)

{

For (j =1; J<= I;; J++)

Printf("%c%c ",2 19, 219);

Printf ("\ n");

}

}

프로그램 1 1

제목: 고전적인 질문: 토끼 한 쌍이 있습니다. 그들은 생후 3 개월부터 매달 토끼 한 쌍을 낳고 토끼는 3 개월까지 자란다.

그 후 매달 토끼 한 쌍이 태어났다. 만약 토끼가 죽지 않는다면, 매달 토끼 총수는 얼마입니까?

1. 절차 분석: 토끼의 법칙은 1, 1, 2,3,5,8,13,2 입니다 ....

2. 프로그램 소스 코드:

주 ()

{

Long f 1, F2;

Int I;;

F1= F2 =1;

For (I =1; 나 & lt=20; I++)

{printf ("%12ld%12ld", f 1, F2);

If (I% 2 = = 0) printf ("\ n"); /* 출력 제어, 행당 4 개 */

F1= f1+F2; /* 처음 두 달을 더하고 세 번째 달에 할당 */

F2 = f1+F2; /* 처음 두 달을 더하고 세 번째 달에 할당 */

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 12

제목: 10 1-200 사이에 얼마나 많은 소수가 있는지 판단하여 모든 소수를 출력합니다.

1. 프로그램 분석: 소수를 판단하는 방법: 2 에서 sqrt (이 수) 로 나눌 수 있다면,

이 숫자는 소수가 아니라 소수라는 뜻이다.

2. 프로그램 소스 코드:

# "math.h" 포함

주 ()

{

Int m, I, k, h=0, leap =1;

Printf ("\ n");

For (m =101; M & lt=200; M++)

{k = sqrt (m+1);

For(I = 2;; 나<= k;; I++)

(m%i==0) 인 경우

{leap = 0;; 깨뜨리다 }

If(leap) {printf("%-4d ",m); H++;+;

If(h% 10==0)

Printf ("\ n");

}

Leap =1;

}

Printf(" \ n 총 %d ",h);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 13

제목: 모든 수선화를 인쇄하십시오. 수선화수' 란 세 자리, 그 자리의 입방체는 이 수와 같다.

그 자체. 예를 들어 153 은 153= 1 큐브 +5 큐브 +3 큐브이기 때문에 "수선화 수" 입니다.

1. 프로그램 분석: for 루프로 100-999 의 수를 제어하며 각 숫자는 비트, 10 비트, 100 비트로 분할됩니다.

2. 프로그램 소스 코드:

주 ()

{

Int I, j, k, n;

Printf ("'물보라' 호는");

For (n =100; N< 1000; N++)

{

I = n/100; /* 수백 개로 분해 */

J = n/10%10; /* 10 자리로 분할 */

K = n%10; /* 비트로 분해 */

If (I *100+j *10+k = = I * I * I+j * j * j+k * k * k

{

Printf("%-5d ",n);

}

}

Printf ("\ n");

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 14

제목: 양의 정수를 질량 요소로 분해합니다. 예를 들어 90 을 입력하여 90=2*3*3*5 를 인쇄합니다.

절차 분석: N 의 품질 요소를 분해하려면 먼저 가장 작은 소수 K 를 찾은 후 다음 단계에 따라 완료합니다.

(1) 이 소수가 n 과 정확히 같으면, 분해 품질 요소 과정이 끝났음을 설명하고 인쇄하면 된다.

(2) n 인 경우

첫 번째 단계를 반복합니다.

(3) n 이 k 로 나눌 수 없다면 k+ 1 을 k 값으로 사용하여 첫 번째 단계를 반복합니다.

2. 프로그램 소스 코드:

/* 정 int 가 나뉘었다 */

주 ()

{

Int n, I;

Printf(" \ n 숫자를 입력하십시오: \ n ");

Scanf("%d ",& ampn);

Printf("%d= ",n);

For(I = 2;; 나<= n;; I++)

{

그리고 (n! =i)

{

(n%i==0) 인 경우

{printf("%d* ",I);

N = n/I; 사항 없음 :

}

기타

깨뜨리다

}

}

Printf("%d ",n); }

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 15

제목: 조건 연산자의 중첩을 이용하여 이 문제를 완성한다: 학업 성적 >; 90 점인 학생은 A 로, 60 ~ 89 점인 학생은 B 로 표기합니다.

60 점 이하의 것은 c 로 표시한다.

1. 프로그램 분석: (a>b)? 이것은 조건 연산자의 기본 예입니다.

2. 프로그램 소스 코드:

주 ()

{

Int 점수

탄화 등급

Printf ("점수를 입력하십시오 \ n");

Scanf("%d ",& 점수);

등급 = 점수 & gt=90? A': (점수 & gt=60? B':' c');

Printf("%d 는 %c ",점수, 등급);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 16

제목: 두 개의 양의 정수 M 과 N 을 입력하여 최대 공약수와 최소 공배수를 구합니다.

1. 프로그램 분석: 스크롤 나누기 사용.

2. 프로그램 소스 코드:

주 ()

{

Int a, b, num 1, num2, temp

Printf ("두 개의 숫자를 입력하십시오: \ n");

Scanf("%d, %d ",& ampnum 1. Num 2);

If (num1{temp = num1;

Num1= num2;

Num2 = temp

}

A = num1; B = num2

그리고 (b! =0)/* b 가 0 */

{

Temp = a% b; :

A = b;;

B = 온도;

}

Printf("gongyueshu:%d\n ",a);

Printf ("공북서: %d\n", num1* num 2/a);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 17

제목: 한 줄의 문자를 입력하여 영문자, 공백, 숫자 등의 문자 수를 집계합니다.

1. 프로그램 분석: 입력 문자가' \n' 이 아닌 경우 while 문을 사용합니다.

2. 프로그램 소스 코드:

#' stdio.h' 포함

주 ()

{char c;;

Int 문자 =0, 공백 =0, 숫자 =0, 기타 = 0;

Printf ("일부 문자를 입력하십시오. \ n");

While((c=getchar ())! ='\n')

{

If(c & gt;; =' a'& & ampc & lt =' z' | | c> =' a'& & ampc & lt =' z')

글자++;

Else if(c=='')

스페이스++;

Else if(c & gt;; =' 0' & amp& ampc & lt='9')

Digit++;+;

기타

기타++;

}

Printf ("all in all: char =% d space =% d digit =% d others =% d \ n", 문자,

공백, 숫자, 기타);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 18

제목: s=a+aa+aaa+aaaa+aa 의 값 ... a 를 구합니다. 여기서 a 는 숫자입니다. 예를 들어 2+22+222+2222+22222 (현재

* * * 5 자리 숫자 추가), 몇 자리 숫자의 합은 키보드로 제어됩니다.

1. 프로그램 분석: 핵심은 각 항목의 가치를 계산하는 것입니다.

2. 프로그램 소스 코드:

주 ()

{

Int a, n, count =1;

Long int sn=0, TN = 0;;

Printf ("a 와 n 을 입력하십시오. \ n");

Scanf("%d, %d ",& 1, & ampn);

Printf("a=%d, n=%d\n ",a, n);

While(count & lt;; =n)

{

Tn = TN+a;

Sn = sn+TN :

A = a *10;

++개수;

}

Printf("a+aa+...=%ld\n ",일련 번호);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 19

제목: 숫자가 그 계수의 합계와 정확히 같으면' 완전수' 라고 합니다. 예를 들면 6 = 1+2+3 입니다. 프로그래밍; 편성하다

1000 이내의 모든 완전수를 찾아내다.

1. 시나리오 분석: 시나리오 참조

2. 프로그램 소스 코드:

주 ()

{

정적 int k [10];

Int I, j, n, s;

For(j = 2;; J< 1000; J++)

{

N =-1;

S = j;;

For (I =1; 나 {

((j%i)==0 인 경우

{n++;+;

S = s-I;

K [n] = I;

}

}

(s==0) 인 경우

{

Printf("%d 는 만나무다 ",j);

For(I = 0;; I printf("%d ",k [I]);

Printf("%d\n ",k [n]);

}

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 20

제목:100m 높이에서 공이 자유낙하되어 착지할 때마다 원래 높이의 절반으로 튕겨집니다. 다시 추락하여 거기에 있으라고 요구하다.

* * * 처음 10 번 착지할 때 몇 미터나 지났나요? 10 의 바운스는 얼마나 높습니까?

1. 프로그램 분석: 아래 참고 사항을 참조하십시오.

2. 프로그램 소스 코드:

주 ()

{

Float sn= 100.0, HN = sn/2;

Int n;;

For(n = 2;; N<= 10; N++)

{

Sn = sn+2 * HN; : /* n 번째 착륙시 * * * 통과 된 미터 수 */

Hn = HN/2; /* n 번째 바운스의 높이 */

}

Printf ("총 도로는 %f\n", sn);

Printf ("열 번째는 %f 미터 \n", HN);

}

절차 2 1

제목: 원숭이가 복숭아를 먹는다: 첫날 원숭이는 복숭아를 많이 따서 바로 반을 먹었다. 그는 중독성이 없어서 또 하나를 먹었다.

다음날 아침, 나는 남은 복숭아의 반을 먹고 또 하나를 먹었다. 나는 매일 아침 전날의 남은 음식을 먹는다.

반과 하나. 10 아침, 다시 먹고 싶을 때 복숭아가 하나만 남아 있는 것을 보았다. 첫날에 얼마나 골랐는지 물어보세요.

1. 절차 분석: 역방향 사고 방식을 채택하여 뒤에서 앞으로 추론한다.

2. 프로그램 소스 코드:

주 ()

{

Int day, x 1, x2;

일 = 9;

X2 =1;

While(day & gt;; 0)

{x1= (x2+1) * 2; /* 첫날의 복숭아 수는 다음날의 복숭아 수의 두 배에 1 */

X2 = x1;

일-;

}

Printf ("합계는 %d\n", x1);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 22

제목: 두 탁구 팀 경기, 팀당 세 명의 선수. A 팀은 A, B, C 세 명으로 구성되며, B 팀은 X, Y, Z, Y, Z 세 명으로 구성되며 추첨에 의해 결정되었다.

경기 명단. 어떤 사람이 선수들에게 경기 명단에 대해 물었다. A 는 X 와 비교하지 않을 것이라고 말했다. C 는 X 와 Z 와 비교하지 않을 것이라고 말했다. 프로그램을 만들어 알아보자.

제 3 팀 선수 명단.

1. 프로그램 분석: 소수를 판단하는 방법: 2 에서 sqrt (이 수) 로 나눌 수 있다면,

이 숫자는 소수가 아니라 소수라는 뜻이다.

2. 프로그램 소스 코드:

주 ()

{

Char I, j, k; /*i 는 a 의 상대, j 는 b 의 상대, k 는 c 의 상대 */

For (I =' x'); 나<=' zi++)

For (j =' x'); J<=' zj++)

{

만약! =j)

For (k =' x'); K<=' zk++)

{만약! = k & amp& ampj! =k)

{만약! =' x' & amp& AMPK! =' x' & amp& AMPK! ='z')

Printf("order 는 a-%c\tb-%c\tc-%c\n ",I, j, k);

}

}

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 23

제목: 다음 패턴 인쇄 (다이아몬드)

*

* * *

* * * * * * *

* * * * * * * * * *

* * * * * * *

* * *

*

1. 프로그램 분석: 먼저 그래프를 두 부분으로 나눕니다. 처음 네 줄은 하나의 규칙이고, 마지막 세 줄은 하나의 규칙입니다. double 을 사용합니다.

루프의 경우 첫 번째 레벨은 행을 제어하고 두 번째 레벨은 열을 제어합니다.

2. 프로그램 소스 코드:

주 ()

{

Int I, j, k;

For(I = 0;; 나 & lt=3; I++)

{

For(j = 0;; J< = 2-I; J++)

Printf ("");

For(k = 0;; K<= 2 * I;; K++)

Printf ("*");

Printf ("\ n");

}

For(I = 0;; 나 & lt=2; I++)

{

For(j = 0;; J<= I;; J++)

Printf ("");

For(k = 0;; K<= 4-2 * I;; K++)

Printf ("*");

Printf ("\ n");

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 24

제목: 2/ 1, 3/2, 5/3, 8/5, 13/8, 2/kloc-0 과 같은 점수 시퀀스가 있습니다

1. 절차 분석: 분자 분모의 변화 법칙을 파악하세요.

2. 프로그램 소스 코드:

주 ()

{

Int n, t, number = 20

부동 소수점 a=2, b= 1, s = 0;;

For (n =1; N<= 숫자 : N++)

{

S = s+a/b :

T = a;; A = a+b; B = t;; /* 이 부분은 절차의 핵심입니다. T */ 의 기능을 맞춰보세요

}

Printf("sum 은 %9.6f\n ",s);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 25

제목: 찾기 1+2! +3! +...+20! 합계

1. 프로그램 분석: 이 프로그램은 단지 누적을 곱셈으로 바꿀 뿐이다.

2. 프로그램 소스 코드:

주 ()

{

부동 소수점 수 n, s=0, t =1;

For (n =1; N & lt=20; N++)

{

T * = n;;

S+= t;

}

Printf(" 1+2! +3! ... +20! =%e\n ",s);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 26

제목: 재귀 방법을 사용하여 5 를 찾으십시오! 。

1. 프로그램 분석: 반복 공식: fn=fn_ 1*4!

2. 프로그램 소스 코드:

#' stdio.h' 포함

주 ()

{

Int I;;

Intfact ();

For(I = 0;; 나<5; I++)

Printf("\40:%d! =%d\n ",I, fact (I);

}

내부 사실 (j)

Int j;;

{

Int sum

(j==0) 인 경우

합계 =1;

기타

Sum = j * fact (j-1);

합계를 반환합니다

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 27

제목: 반복 함수 호출을 사용하여 5 자를 역순으로 인쇄합니다.

1. 프로그램 분석:

2. 프로그램 소스 코드:

#' stdio.h' 포함

주 ()

{

Int I = 5;;

허공 페일린 (int n);

Printf ("40:");

페일린 (나);

Printf ("\ n");

}

허공 페일린 (n)

Int n;;

{

Char next

다음 경우 (n<= 1)

{

Next = getchar ();

Printf ("\ n \ 0:");

Putchar (다음);

}

기타

{

Next = getchar ();

페일린 (n-1);

Putchar (다음);

}

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 28

제목: 다섯 명이 함께 앉아 있습니다. 다섯 번째 사람은 몇 살입니까? 그는 그가 네 번째 사람보다 두 살 많다고 말했다. 네 번째 사람에게 나이를 묻자 그는 첫 번째 나이보다 크다고 말했다.

세 사람 모두 두 살 많다. 세 번째 사람에게 두 번째 사람보다 두 살 많다고 물었다. 두 번째 사람에게 첫 번째 사람보다 두 살 더 나이가 많다고 물었다. 마지막으로

첫 사람에게 묻자 그는 10 세라고 말했다. 다섯 번째 사람은 몇 살입니까?

1. 프로그램 분석: 재귀적인 방법을 사용하여 재귀를 후추와 재귀의 두 단계로 나눌 수 있습니다. 다섯 번째 사람의 나이를 알기 위해서는 알아야 한다

네 번째 사람의 나이 등 첫 번째 사람 (10 세) 으로 밀고 다시 밀어 넣는다.

2. 프로그램 소스 코드:

나이

Int n;;

{

Int c;;

If (n = =1) c =10;

Else c = 나이 (n-1)+2;

반환? 을 눌러 섹션을 인쇄할 수도 있습니다

}

주 ()

{printf("%d ",나이 (5));

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

계획 29

제목: 5 자리 이하의 양의 정수를 주세요. 요구 사항: 1. 그것이 얼마나 많은 숫자인지 알아보십시오. 2. 모든 숫자를 역순으로 인쇄합니다.

1. 프로그램 분석: 각 숫자를 분해하는 법을 배워서 다음과 같이 설명합니다. (여기는 스승 002 반 조신이 제공하는 간단한 알고리즘입니다.)

2. 프로그램 소스 코드:

주 ()

{

긴 a, b, c, d, e, x;

Scanf("%ld ",& ampx);

A = x/10000; /* 10,000 비트 분할 */

B = x%10000/1000; /* 수천 개로 분해 */

C = x%1000/100; /* 수백 개로 분해 */

D = x%100/10; /* 10 자리로 분할 */

E = x%10; /* 비트로 분해 */

만약 (a! =0) printf ("5 개,% LD% LD% LD \ n", e, d, c, b, a);

Else if (b! =0) printf ("4 개, %ld %ld %ld\n", e, d, c, b);

Else if (c! =0) printf ("3 개, %ld %ld %ld\n", e, d, c);

엘시 if (d! =0) printf ("2 개, %ld %ld\n", e, d);

Else if (e! =0) printf ("있음 1, %ld\n", e);

}

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

프로그램 30

제목: 회문인지 아닌지를 판단하는 5 자리 숫자. 즉 1232 1 은 회문입니다. 한 자리 숫자는 1 만 자리, 10 자리 숫자는 1000 자리입니다.

1. 프로그램 분석: 29 건.

2. 프로그램 소스 코드:

주 ()

{

용형, 돌, 돈, 만, x;

Scanf("%ld ",& ampx);

Wan = x/10000;

돈 = x%10000/1000;

Shi = x%100/10;

Ge = x%10;

If(ge = = wan & amp;; & amp 시 = = 돈)/* 자리는 1 만위, 10 자리는 1000 위 */

Printf ("이 번호는 환문입니다 \ n");

기타

Printf ("이 번호는 Huiwen 이 아닙니다 \ n");

}