#include <stdio.h>
#include <stdlib.h>
#define N 10
double *getPart(double src[ ], int n, double x1, double x2, int *p){
int i,j=0;
double *a,*q;
a=(double*)malloc(sizeof(double)*10);
q=a;
for(i=0;i<n;i++) {
if(src[i]>x1&&src[i]<x2) {
*q=src[i];
q++;
j++;
}
}
*p=j;
return a;
}
int main(){
int m,n,i;
double src[N],x1,x2;
scanf("%d",&n);
for(i=0;i<n;i++) {
scanf("%lf",&src[i]);
}
scanf("%lf %lf",&x1,&x2);
double str[N],*a;
a=&str;
//printf("%.2f",*a);
a=getPart(src,n,x1,x2,m);
for(i=0;i<m;i++) {
printf("%.2lf",str[i]);
}
return 0;
}
c语言编写函数提取数组里双精度的数,用新的数组保存并返回,输出不了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qzjhjxj 2021-11-28 15:04关注
修改见注释处,供参考:
#include <stdio.h> #include <stdlib.h> #define N 10 double *getPart(double src[],int n, double x1, double x2, int *p){ int i,j=0; double *a,*q; a=(double*)malloc(sizeof(double)*10); q=a; for(i=0;i<n;i++){ if(src[i]>x1 && src[i]<x2){ *q=src[i]; q++; j++; } } *p=j; return a; } int main(){ int m,n,i; double src[N],x1,x2; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%lf",&src[i]); } scanf("%lf %lf",&x1,&x2); double *a; //double str[N],*a; 修改 //a=str; //a=&str; // 修改 //printf("%.2f",*a); a=getPart(src,n,x1,x2,&m); //a=getPart(src,n,x1,x2,m); 修改 for(i=0;i<m;i++){ printf("%.2lf",a[i]); //printf("%.2lf",str[i]); 修改 } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 2024-五一综合模拟赛
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭