첨부: 클래식 프로그램 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");
}