第 76 题 请编写函数 fun,其功能时:计算并输出当 x<0.97 时下列多项式的值,直到|
sn-s(n-1)|<0.000001 为止。
Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n)
double f(double x)
{
double sum=0.0,t=1.0,p=1.0;
double s1=1.0,s0=0.0;
int n =1;
do{
s0=s1;
sum+=s0;
t*=n;
p*=(0.5-n+1)*x;
s1=p/t;
n++;
}while(fabs(s1-s0)>=1e-6);
return sum;
}
请编写函数 fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩
一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
int f(int *a,int n)
{
for(int i=0;i<n;i++){
for(int j =i+1;j<n;j++){
if(a[i]==a[j]){
n--;
for(int k =j;k<n;k++){
a[k] = a[k+1];
}
}
}
}
return n;
}
int a[10];
int main()
{
for(int i =0;i<6;i++) scanf("%d",&a[i]);
int n = f(a,6);
for(int i =0;i<n;i++) printf("%d ",a[i]);
return 0;
}
请编写一个函数 float fun(double h),函数的功能使对变量 h 中的值保留 2 位小
数,并对第三位进行四舍五入
double f(double x)
{
x=x*1000;
long t= (x+5)/10;
return (double)t/100;
}
int main()
{
printf("%.2f\n",f(12.347));
return 0;
}
编写程序,实现矩阵(3 行 3 列)的转置(即行列互换)。
答案:
void fun(int array[3][3])
{
int I,j,temp;
for(i=0;i<3;i++)
for(j=0;j<I,j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
}
void f(char *s){
int l =strlen(s);
for(int i =0;i<l-1;i++)
{
for(int j =i;j<l;j++)
if(s[i]<s[j]){
char t;
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
}
5347
7543