从字符串s中提取所有的正负号、数字和小数点等组成的子串,将其转换为实数存储到数组a中,然后对其排序。
例如:字符串s为"a36.5y-.03..3h-a36-1.5AS-3.2.2-"
程序运行结果为:
0.30 0.20 -0.03 -1.50 -3.20 36.50 36.00
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
/******************************************
* 将字符串s中提取所有的正负号、数字和小数
* 点等组成的子串转换为实数存储到数组a中,
* 函数返回提取的实数个数。
*******************************************/
int fun(char s[],double a[]) {
}
/******************************************
* 将n个浮点数按绝对值大小进行排序,排序规
* 则为:按照整数部分绝对值升序排序,整数
* 部分绝对值相等时,按小数部分绝对值降序
* 排序。函数返回提取的实数个数。
*******************************************/
void sort(double a[],int n) {
}
int main() {
char s[]="a36.5y-.03..3h-a36-1.5AS-3.2.2-";
int i,n;
double a[100]= {0};
n=fun(s,a);
sort(a,n);
for(i=0; i<n; i++) {
printf("%.2f ",a[i]);
}
return 0;
}
例如:字符串s为"a36.5y-.03..3h-a36-1.5AS-3.2.2-"
程序运行结果为:
0.30 0.20 -0.03 -1.50 -3.20 36.50 36.00
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
/******************************************
* 将字符串s中提取所有的正负号、数字和小数
* 点等组成的子串转换为实数存储到数组a中,
* 函数返回提取的实数个数。
*******************************************/
int fun(char s[],double a[]) {
}
/******************************************
* 将n个浮点数按绝对值大小进行排序,排序规
* 则为:按照整数部分绝对值升序排序,整数
* 部分绝对值相等时,按小数部分绝对值降序
* 排序。函数返回提取的实数个数。
*******************************************/
void sort(double a[],int n) {
}
int main() {
char s[]="a36.5y-.03..3h-a36-1.5AS-3.2.2-";
int i,n;
double a[100]= {0};
n=fun(s,a);
sort(a,n);
for(i=0; i<n; i++) {
printf("%.2f ",a[i]);
}
return 0;
}