#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 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动
- ¥20 对于工程问题的非线性数学模型进行线性化
- ¥15 Mirare PLUS 进行密钥认证?(详解)
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥20 想用ollama做一个自己的AI数据库
- ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
- ¥15 请问怎么才能复现这样的图呀