您现在的位置是:主页 > news > 长宁区公司网站建设/网络舆情分析师
长宁区公司网站建设/网络舆情分析师
admin2025/6/19 22:36:16【news】
简介长宁区公司网站建设,网络舆情分析师,做mod游戏下载网站,张家港快速网站建设目录 eg2.写一个函数printN,打印出从1到N eg3.写程序计算给定多项式在给定点x处的值 最大子列和问题(遗留,分而治之) eg2.写一个函数printN,打印出从1到N #include<stdio.h>void printN1(int n); //直接输出 void printN2(int n); …
长宁区公司网站建设,网络舆情分析师,做mod游戏下载网站,张家港快速网站建设目录 eg2.写一个函数printN,打印出从1到N eg3.写程序计算给定多项式在给定点x处的值 最大子列和问题(遗留,分而治之) eg2.写一个函数printN,打印出从1到N
#include<stdio.h>void printN1(int n); //直接输出
void printN2(int n); …
目录 eg2.写一个函数printN,打印出从1到N eg3.写程序计算给定多项式在给定点x处的值 最大子列和问题(遗留,分而治之) |
eg2.写一个函数printN,打印出从1到N
#include<stdio.h>void printN1(int n); //直接输出
void printN2(int n); //递归 void printN2(int n){if(n){printN2(n-1);printf("%-4d ", n); }
}void printN1(int n){int i;for(i = 0; i < n; i++){printf("%-4d ", i+1);}
}void main(void){int n;printf("请输入一个正整数:");scanf("%d", &n);printN1(n);printN2(n);
}
eg3.写程序计算给定多项式在给定点x处的值
#include<stdio.h>
#include<math.h>#define N 3double fun1(double a[], int n, double x); //a放系数,n是次幂
double fun2(double a[], int n, double x); double fun2(double a[], int n, double x){double y = a[n];int i; for(i = n; i > 0; i--){y = a[i-1]+ y*x;//printf("y=%lf\n", y); }return y;
}double fun1(double a[], int n, double x){double y = 0;int i; for(i = 0; i <= n; i++){y += a[i]*pow(x, i); }return y;
}void main(void){double a[N+1];int i;double x;printf("请输入多项式的系数(次幂逐渐增大,最高次幂为%d):", N);for(i = 0; i < N+1; i++){scanf("%lf", &a[i]);}printf("请输入x的值:");scanf("%lf", &x);printf("fun1函数在点%lf处的值为:%lf\n", x, fun1(a, N, x));printf("fun2函数在点%lf处的值为:%lf\n", x, fun2(a, N, x));}
最大子列和问题(遗留,分而治之)
//最大子列和问题
//8
//-2 6 -1 5 4 -7 2 3
//结果:14 #include<stdio.h>#define N 8void inputData(int a[], int n);
int maxSubseqSum1(int a[], int n); //T(n)=O(n^3) 把所有子序列的和都求出来
int maxSubseqSum2(int a[], int n); //T(n)=O(n^2) 把所有子序列的和都求出来
int maxSubseqSum2(int a[], int n); //T(n)=O(nlogn) 分而治之,不会 int maxSubseqSum2(int a[], int n){int i;int j;int k; int sum;int max = 0;for(i = 0; i < n; i++){sum = 0;for(j = i; j < n; j++){sum+=a[j];if(sum > max){max = sum;}} }return max;}int maxSubseqSum1(int a[], int n){int i;int j;int k; int sum;int max = 0;for(i = 0; i < n; i++){for(j = i; j < n; j++){sum = 0;for(k = i; k < j; k++){sum+=a[k];}if(sum > max){max = sum;}} }return max;
}void inputData(int a[], int n){int i;printf("请输入%d个整型数据:", N);for(i = 0; i < n; i++){scanf("%d", &a[i]);}
}void main(void){int a[N];inputData(a, N);printf("最大子列和为:%d\n", maxSubseqSum1(a, N));printf("最大子列和为:%d\n", maxSubseqSum2(a, N));
}