#include<stdio.h>
/*
//10.前20项和
int main () {
double L,H,num,temp,sum=0;
L=1,H=2;
for(int i=1;i<=20;i++) {
num=H/L;
temp=L;
L=H;
H=H+temp;
sum=sum+num;
}
printf("%12.10f",sum);
return 0;
}
//11.小球10次
int main () {
float H,S=0;
H=100;
S+=100;
for(int i=1;i<10;i++) {
H=H/2;
S+=2*H;
}
printf("十次高度%10.6f\t经过距离%10.6f\n",H,S);
return 0;
}
//12.猴子吃桃 ,谁家的猴子家里能放下一千多个桃-_-
int main () {
int num=1;//day10
for(int i=1;i<10;i++) {
num=(num+1)*2;
}
printf("%d\n",num);
return 0;
}
//13.迭代法求平方根, a只是个变量名
#include<math.h>
int main() {
float a;
scanf("%f",&a);
float x0=0,x1=a;
while(fabs(x1-x0)>=1e-5) {
x0=x1;
x1=(x0+a/x0)/2;
}
printf("平方根为%10.6f\n",x1);
return 0;
}
4
//14
//牛顿迭代法
//给一个方程和方程上的点f(x),求其切线与x轴的交点的x值,然后求对应的x值的f(x)上的点;
//重复此过程,直到最近一次求得的两点相同。
//常用1e-5来判断
#include<math.h>
int main () {
double x0=1.5,x1=0;
while(fabs(x1-x0)>=1e-5) {
x0=x1;
x1=x0+(-2*x0*x0*x0+4*x0*x0-3*x0+6)/(6*x0*x0-4*x0+3);
}
printf("%10.6f\n",x1);
return 0;
}
//15二分法求下面方程在(-10,10)之间的根
#include<math.h>
int main() {
float x0=-10,x1=10,x2;
float num0=-1,num1;
while(fabs(num0)>=1e-5) {
num0=2*x0*x0*x0-4*x0*x0+3*x0-6;
num1=2*x1*x1*x1-4*x1*x1+3*x1-6;
x2=x0;
x0=(x0+x1)/2;//左右划分
if((2*x0*x0*x0-4*x0*x0+3*x0-6)*(2*x1*x1*x1-4*x1*x1+3*x1-6)>0){//不可直接用num0,num1,仍然是上次的
x0=x2;
x1=(x0+x1)/2;
}
}
printf("%10.6f\n",x0);
return 0;
}
//16 输出以下图案
int main() {
for(int i=1;i<=4;i++) {
for(int j=4-i;j>0;j--) {
printf(" ");
}
for(int k=1;k<=i*2-1;k++) {
printf("*");
}
printf("\n");
}
for(int i=1;i<=3;i++) {
for(int j=1;j<=i;j++) {
printf(" ");
}
for(int k=(4-i)*2;k>1;k--) {
printf("*");
}
printf("\n");
}
return 0;
}
*/
//17.两个乒乓球队进行比赛,各出三人,甲队为ABC,乙队为XYZ。A不和X比,C不和XZ比。
int main() {
char A,B,C;
for(int i='X';i<='Z';i++) {
for(int j='X';j<='Z';j++) {
for(int k='X';k<='Z';k++) {
A=i;
B=j;
C=k;
if(A!='X'&&C!='X'&&C!='Z') {
if(A!=B&&A!=C&&B!=C) {
printf("A--%c \t B--%c \t C--%c\n",A,B,C);
}
}
}
}
}
return 0;
}