#include<stdio.h>#include<math.h>#define N 100main(){int m,i,j;double sum,x,a[N];printf("input the x and the top exp:");scanf("%lf,%d",&x,&m);printf("\ninput the a[i](0<i<100):");for(i=0;i<=m;i++){scanf("%lf",&t);
a[i]=t;}
sum=a[m];for(j=m-1;j>=0;j--)
sum=x*sum+a[j];printf("\nthe result is:%lf\n",sum);}
三對角線追趕法
#include<stdio.h>#include<math.h>main(){int i,j,k,n;float d[10][10],g[10],a[10],b[10],c[10],x[10],y[10],f[10];printf("the top exp is ");scanf("%d",&n);scanf("%f,%f,%f,%f",&d[0][0],&d[0][1],&d[n-1][n-2],&d[n-1][n-1]);for(i=1;i<n-1;i++)for(j=i-1;j<=i+1;j++)scanf("%f",&d[i][j]);for(i=0;i<n;i++)scanf("%f",&g[i]);for(i=1;i<n-1;i++)
a[i]=d[i][i-1];for(i=0;i<n;i++)
b[i]=d[i][i];for(i=0;i<n-1;i++)
c[i]=d[i][i+1];
f[0]=c[0]/b[0];for(k=1;k<n-1;k++)
f[k]=c[k]/(b[k]-a[k]*f[k-1]);
y[0]=g[0]/b[0];for(i=1;i<n;i++)
y[i]=(g[i]-a[i]*y[i-1])/(b[i]-a[i]*f[i-1]);
x[n-1]=y[n-1];for(i=n-2;i>=0;i--)
x[i]=y[i]-f[i]*x[i+1];for(i=0;i<n;i++)printf("%f\n",x[i]);}
#include<stdio.h>#include<math.h>main(){float a[10][10],b[10],x[10],y[10],e,sum,c;int i,j,n,l;printf("The top exp is ");scanf("%d",&n);printf("Now input array A\n");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);printf("Now input array B first and then array X\n");for(i=0;i<n;i++)scanf("%f,%f",&b[i],&x[i]);printf("Now input e\n");scanf("%f",&e);
l=0;do{for(i=0;i<n;i++){sum=0;for(j=0;j<i;j++)
sum+=a[i][j]*x[j];for(j=i+1;j<n;j++)
sum+=a[i][j]*x[j];
y[i]=(b[i]-sum)/a[i][i];
l+=1;}
c=fabs(x[0]-y[0]);for(i=0;i<n;i++)if(c<fabs(x[i]-y[i]))
c=fabs(x[i]-y[i]);for(i=0;i<n;i++)
x[i]=y[i];}while(c<e);printf("%d\n",l);for(i=0;i<n;i++)printf("%f\n",y[i]);}
綜合測評
#include<stdio.h>#include<math.h>floatg(float a,float b,float c,float d,float e,float f){float y;
y=(a*36.0+b*35.0+c*65.0+d*48.0+e*21.0+f*18.0)/223.0;return y;}main(){float a,b,c,d,e,f,num[5],max;int i,j,h,n;for(i=1;i<=4;i++){printf("input your marks:\n");scanf("%f%f%f%f%f%f",&a,&b,&c,&d,&e,&f);printf("your average mark:");printf("[%d]\n",i);printf("%6.3f\n",g(a,b,c,d,e,f));
num[i]=g(a,b,c,d,e,f);}for(j=1;j<=4;j++){max=num[1];
h=1;for(i=1;i<=4;i++)if(num[i]>=max){max=num[i];
h=i;}printf("%6.4f,%d\n",max,h);
num[h]=0;}}