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;
}
結果:
33.画分2 / 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日目1だけ。私は、採取したどのように多くの桃最初の日を尋ねましたか?
#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()。正方形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 *x³-4 * X 2 + * X-6 = 0 3
#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、Cの3のチーム、チームBは、x、y、zの3個です。彼はxの比でないこと、cが、彼は、zの比率をxはいないと述べました。リストを見つけるためにレース3つのチームのプログラミング。
#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次元アレイを堆積させるために、交換されます。
#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;
}
結果: