31. 100m에서 떨어지는 공, 각 바운스 다시 원래 높이의 절반, 그리고 10는 미터 리바운드 얼마나 많은, 미터의 총 수를 경험 물었다.
#include <stdio.h>
int main()
{
double h=100,sum=100; //sum初值置为首高度
for(int i=1; i<=10; i++)
{
h*=0.5; //下次高度为本次的一半
if(i==1) //sum初值已加过
continue;
sum=sum+2*h; //每次经历两次
}
printf("第10次共经历%.2lf米,反弹%.2lf米\n",sum,h);
return 0;
}
결과 :
6 = 1 + 2 + 3 (32)은 그와 같은 요소의 합 (나눌)의 개수와 정확하게 동일하다. 모든 몇 천 이내에 완료 찾기
#include <stdio.h>
int main()
{
int i,j,sum,a[10],k;
for(i=2; i<1000; i++)
{
a[10]= {0};
k=0;
sum=0;
for(j=1; j<i; j++)
{
if(i%j==0)
{
sum+=j;
a[k++]=j;
}
}
if(sum==i)
{
printf("%d=",i);
for(j=0; j<k-2; j++)
printf("%d+",a[j]);
printf("%d\n",a[k-2]);
}
}
return 0;
}
결과 :
분획 2 (33) / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 (20)과 전면을 찾을들의 시퀀스 ....
#include <stdio.h>
int main()
{
float n=1,m=2,t,s,sum=0;//m为分母,n为分子
for(int i=1; i<=20; i++)
{
s=m/n;
sum+=s; //求和
t=m; //往后确定两部分的值
m=m+n;
n=t;
}
printf("sum=%f\n",sum);
return 0;
}
결과 :
34. 원숭이는 복숭아 문제를 먹는다. 복숭아의 숫자의 첫 하루 원숭이, 절반은 즉시 먹을뿐만 아니라 먹을 하나를 먹고 후, 다음날 아침과 절반의 나머지 부분을 먹고, 나중에도. 10 일 만 하나. 나는 많은 복숭아가 포착 된 방법 첫날 물어?
#include <stdio.h>
int main()
{
int i,sum=1; //rest为第10天剩余个数
for(i=9; i>0; i--) //i为第9~1天
sum=(sum+1)*2;
printf("sum=%d\n",sum);
return 0;
}
결과 :
35. 반복법 X = SQRT (a). 사각형 내지 Xn + 1 = 1/2 *의 반복 식 (Xn에 + A / 내지 Xn)
#include <stdio.h>
#include <math.h>
int main()
{
float x1=1,x2,a;
scanf("%f",&a);
x2=a;
while(fabs(x1-x2)>=1e-5)
{
x1=x2;
x2=(x1+a/x1)/2;
}
printf("%.2f,%.2f\n",x1,x2);
return 0;
}
결과 :
식 (-10,10) 다음 뿌리 36 사이 추구 이분법은 2 * 4 * - x³ x² + 3 * X-6 = 0
#include <stdio.h>
#include <math.h>
int main()
{
double a=-10,b=10,c,x,x1,x2,x3;
for(int i=0;; i++)
{
c=(a+b)/2;
x1=2*pow(a,3)-4*pow(a,2)+3*a-6;
x2=2*pow(b,3)-4*pow(b,2)+3*b-6;
x3=2*pow(c,3)-4*pow(c,2)+3*c-6;
if(x3==0)
x=c;
else if(x1*x3<0)
b=c;
else if(x2*x3<0)
a=c;
if(fabs(a-b)<1e-8)
{
x=a;
break;
}
}
printf("Root=%lf\n",fabs(x));
return 0;
}
결과 :
(37) 출력
*
***
*****
*******
*****
***
*
#include <stdio.h>
int main()
{
int i,j,k;
for(i=0; i<=3; i++)
{
for(j=0; j<3-i; j++)
printf(" ");
for(k=0; k<2*i+1; k++)
printf("*");
printf("\n");
}
for(i=0; i<3; i++)
{
for(j=0; j<i+1; j++)
printf(" ");
for(k=0; k<5-2*i; k++)
printf("*");
printf("\n");
}
return 0;
}
결과 :
(38) 경쟁. A, B의 팀 세 에어콘, 팀 B는 X, Y, Z 세이다. 그 X, C의 비율로한다는 것을 그가 Z 비율하지 X, 수행했다. 목록을 찾기 위해 경주 세 팀 프로그래밍.
#include <stdio.h>
int main()
{
char i,j,k; //i,j,k分别对应为a,b,c的对手
for(i='x'; i<='z'; i++)
for(j='x'; j<='z'; j++)
if(j!=i) //a,b,c不能同为一个人的对手
for(k='x'; k<='z'; k++)
if(k!=i&&k!=j) //a,b,c不能同为一个人的对手
{
if(i!='x'&&k!='x'&&k!='z') //a不与x比,c不与x,z比
printf("a--%c\nb--%c\nc--%c\n",i,j,k);
}
return 0;
}
결과 :
행과 열 (39) 2 차원 어레이는 다른 2 차원 배열을 증착하기 위해 교환된다.
#include <stdio.h>
int main()
{
int a[3][3]= {{1,2,3},{4,5,6},{7,8,9}},b[3][3];
printf("原矩阵为:\n");
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
printf("%d ",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("行列互换之后:\n");
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
printf("%d ",b[i][j]);
printf("\n");
}
return 0;
}
결과 :
(40)는 3 × 3 행렬의 정수 대각 요소를 찾는.
#include <stdio.h>
int main()
{
int a[3][3]= {{1,2,3},{4,5,6},{7,8,9}},sum=0;
for(int i=0; i<3; i++)
sum+=a[i][i];
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
printf("%d ",a[i][j]);
if(j==2)
printf("\n");
}
}
printf("对角线元素之和为:%d\n",sum);
return 0;
}
결과 :