-
2021-01-06 11:27:17
7-234 实数排序 (10分)
本题要求编写程序,输入n个实数,使用指针引用的方式将它们按从大到小的顺序排列。
输入格式:
输入第一行给出一个正整数n(2≤n≤10),输入第二行给出n个实数,其间以空格分隔。输出格式:
输出从大到小排好序的n个数(保留2位小数),每个数之间空一格,行末没有空格。输入样例:
在这里给出一组输入。例如:5 3.2 5.4 6.12 2.51 4.23
输出样例:
在这里给出相应的输出。例如:6.12 5.40 4.23 3.20 2.51
代码1:
#include<stdio.h> int main(){ int i,n; double a[10],t; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%lf",&a[i]); } for(i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){ if(a[j]<a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=0;i<n;i++){ printf("%.2f",a[i]); if(i!=n-1){ printf(" "); } } return 0; }
更多相关内容 -
PTA 7-2 实数排序(指针)
2022-05-08 23:54:14本题要求编写程序,输入n个实数,使用指针引用的方式将它们按从大到小的顺序排列。 输入格式: 输入第一行给出一个正整数n(2≤n≤10),输入第二行给出n个实数,其间以空格分隔。 输出格式: 输出从大到小排好序的n个...本题要求编写程序,输入n个实数,使用指针引用的方式将它们按从大到小的顺序排列。
输入格式:
输入第一行给出一个正整数n(2≤n≤10),输入第二行给出n个实数,其间以空格分隔。输出格式:
输出从大到小排好序的n个数(保留2位小数),每个数之间空一格,行末没有空格。输入样例:
在这里给出一组输入。例如:5 3.2 5.4 6.12 2.51 4.23
输出样例:
在这里给出相应的输出。例如:6.12 5.40 4.23 3.20 2.51
代码:
#include<stdio.h> #include<stdlib.h> double order(double *p, int num,double *k); int main() { double a[10], b[10]; int num, i; scanf("%d", &num); for (i = 0; i < num; i++) { scanf("%lf", &a[i]); } order(a, num,b); for (i = 0; i < num; i++) { if (i == num - 1) { printf("%.2lf", b[num - 1]); } else { printf("%.2lf ", b[i]); } } return 0; } double order(double* p, int num,double*k) { int cnt = 0; int i, t; for (i = 0; i < num; i++) { for (t = 0; t < num; t++) { if ( * (p + i) < *(p + t)) { cnt++; } } *(k + cnt) = *(p + i); cnt = 0; } }
-
三个实数排序
2020-11-12 16:20:06输入三个实数,按从大到小的顺序排序,我的方法可能不太简便,因为把所有情况下都写了,如果有更简便方法我希望可以得到回答 using namespace std; double a, b, c; int main() { cout << "请输入三个数 a b ...输入三个实数,按从大到小的顺序排序,我的方法可能不太简便,因为把所有情况下都写了,如果有更简便方法我希望可以得到回答
#include <iostream> using namespace std; double a, b, c; int main() { cout << "请输入三个数 a b c:"; cin >> a, b, c; if (a > b && a > c) { if (b > c) { cout << a <<b <<c<< endl; } else { cout << a << c <<b << endl; } } if (b > a && b > c) { if (a > c) { cout << b << a<< c << endl; } else { cout << b << c<< a << endl; } } if (c > a && c > b) { if (a > b) { cout << c<< a<< b << endl; } else { cout << c << b << a << endl; } } return 0; }`
-
debug记录4:float实数排序,%g格式
2022-05-21 08:40:49float实数排序 10个float型实数存放在一个数组中,从小到大排序后输出。用“%f”输入数组元素,用格式符“%g ”输出数组元素,注意%g后有一个空格。 %g格式符用来输出实数,输出时从%e或%f中,选择一个合理的格式...float实数排序
10个float型实数存放在一个数组中,从小到大排序后输出。用“%f”输入数组元素,用格式符“%g ”输出数组元素,注意%g后有一个空格。
%g格式符用来输出实数,输出时从%e或%f中,选择一个合理的格式输出,不输出没有意义的0。
输入示例:1 3 5 7 9 6 8 2 4 -3.3
输出:-3.3 1 2 3 4 5 6 7 8 9
#include<stdio.h> #define N 10 void sort(float a[],int n)//用来排序 { int i,j; float t; for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } int main() { float a[N]; int i; for(i=0;i<N;i++) scanf("%f",&a[i]);//输入数组 sort(a,N);//看来只需要数组名 for(i=0;i<N;i++)//输出排序后的数组 printf("%g ",a[i]);//用%g格式输出 printf("\n"); return 0; }
debug:
1.没有看懂题目中的%g是什么,这个是因为知识点的不熟悉,之前没有碰到过类似的。
在输出的时候我们使用%g会有什么样的奇特用法呢,比如我们想要输出一个12.3,但是如果你选择使用%f作为格式符,就会输出12.300000。但是很多时候我们只想要打印出12.3,这个时候可以选择%g进行格式化,输出结果就会变成12.3。它将后面无用的0全部舍去了,可以在很多时候满足题目的要求。
————————————————
版权声明:本文为CSDN博主「桃花er」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45930241/article/details/108587822输出格式们
%d整型输出,
%ld长整型输出,
%o以八进制数形式输出整数,
%x以十六进制数形式输出整数,
%u以十进制数输出unsigned型数据(无符号数)。
%c用来输出一个字符,
%s用来输出一个字符串,
%f用来输出实数,以小数形式输出,
%e以指数形式输出实数,
%g根据大小自动选f格式或e格式,且不输出无意义的零。
scanf(控制字符,地址列表) 格式字符的含义同printf函数,地址列表是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。如scanf("%d%c%s",&a,&b,str);
2.记住排序的时候要-1
3.定义函数的时候要记得加上关键字定义变量类型!(t的类型是float!一定要想清楚)
-
Python实现对特定列表进行从小到大排序操作示例
2020-09-19 15:16:44主要介绍了Python实现对特定列表进行从小到大排序操作,涉及Python文件读取、计算、正则匹配、排序等相关操作技巧,需要的朋友可以参考下 -
论文研究 - 用于对实数进行排序的NC算法
2020-05-21 06:27:00我们将对n个实数进行实时排序的最新重要结果应用于在时间和运算上对实数进行排序的并行算法的设计。 这是已知的第一个采用用于对实数进行排序的运算的NC算法。 √登录 -
c语言输入5个实数,按照从大到小排序进行输出
2021-10-27 14:22:29如题,求大佬解答,谢谢 我刚入门c语言,问题太多了 -
PTA作业C语言 6-1 实数数组 - 8. 排序(10分)
2021-09-05 00:04:30请编写函数,对数组元素按升序排序。 函数原型 void ArraySort(double *array, int size); 说明:array为数组的起始地址,size为数组元素的个数。函数对数组元素按由小到大的顺序排序。 裁判程序 #include <... -
基数排序
2019-06-12 09:47:00基数排序是一种高效的排序算法,多用于处理字符串(不支持负数,实数排序效率不高) 算法流程 · 基数排序就是以每一位的数值为关键字来排序,也就是说,是按位排序(一般从低位向高位枚举) 先贴代码 inline void ... -
C语言两个排序基本排序算法
2022-01-08 22:05:20C语言两个排序基本排序算法 -
PTA 排序(快速排序,基数排序)
2020-04-22 16:54:37快速排序 在一堆数中选取一个主元,以主元为中心将这堆数分为大小两部分,对这两部分递归调用快排,最后当规模最够小的时候(小于预设的阈值CutOff)将使用简单排序(如插入排序)。 /*快速排序*/ //取主元 get ... -
python实现各种排序算法
2021-03-06 06:37:39排序算法是一种能将一...这些排序都是比较经典的排序算法:冒泡排序选择排序插入排序归并排序快速排序计数排序桶排序基数排序那么如何使用python来实现这些排序呢?几大排序算法比较冒泡排序这个算法的名字由来是因... -
使用指针实现数的排序
2021-01-23 14:32:44//使用指针来实现排序 #include<stdio.h> int main(){ int *p1,*p2,a,b; scanf("%d,%d",&a,&b); p1=&a; p2=&b; if(a<b){ p1=&b; p2=&a; } printf("MAX=%d\nMIN=%d",*p1... -
成绩排序
2015-02-02 07:20:00有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序,并输出N个学生排序后的信息。 输入: 测试数据有多组,每组输入第一行有... -
深入理解Python中的排序函数
2020-12-21 23:57:06两个函数的区别这儿直接给出这两个排序函数的区别sort可以直接改变所排序的变量,而sorted不会sort是 list 的内建函数,不能用于字典的排序,而sorted可以用于列表、元组、字典的排序函数原型so... -
习题7-1 选择法排序 (20分)(冒泡排序)
2020-08-18 21:40:15本题要求将给定的n个整数从大到小排序后输出。 输入格式: 输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。 输出格式: 在一行中输出从大到小有序的数列,相邻数字间有一个空格,行... -
如何对字符串类型的数字排序。
2021-04-08 10:43:43String s = “1,0,-5,88,105”; 1.先用spilt方法通过编写的正则表达式进行分割。 String regex = “,”; String str [] = s.split(regex); 2.将分割完的字符串数组转换成int类型的数组。...3.排序。 Array -
java实现三个实数由小到大排列
2020-07-08 22:00:19* @ Description:三个实数由小到大排序 */ public class Zz3 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入第一个数字:"); -
每日程序C语言34-利用指针将输入的三个数排序
2021-02-14 20:38:05题目: 输入三个数a,b,c,按大小顺序输出,利用指针方法 程序分析 int *p; 表示这是int型的指针 int a; *p=&a;//将变量a的地址赋值给指针p &a表示取int型变量a的地址 主要代码 main.c ... sca -
7-3 选择法排序 (15分)
2020-06-11 20:23:07本题要求将给定的n个整数从大到小排序后输出。 输入格式: 输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。 输出格式: 在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末... -
字符串数组数字排序
2019-08-10 10:51:21publicString[]split(Stringregex) 将此字符串拆分为给定的regular expression的匹配。 该方法的工作原理是通过使用给定的表达式和极限参数为零调用双参数split方法。 因此,尾随的空字符串不会包含在结果数组... -
用C语言实现从文本文件中读取数据后进行排序的功能
2020-09-01 20:19:25是一个十分可靠的程序,这个程序的查错能力非常强悍。程序包含了文件操作,归并排序和字符串输入等多种技术。对大家学习C语言很有帮助,有需要的一起来看看。 -
(C语言)任意数排序(15个)
2020-12-09 16:05:08#include #define N 15 int main() { int i,j,a[N],temp; printf("请输入 15 个数字:\n"); for(i=0;... } } printf("排序结果是:\n"); for(i=0;i;i++) printf("%d ",a[i]); printf("\n"); return 0; } -
冒泡排序汇总(整数,实数,字符,字符串)
2021-08-15 14:35:34冒泡排序汇总 一:整数 void ibub(p,n) int p[],n; { int m,k,j,i,d; k=0; m=n-1; while (k<m) { j=m-1; m=0; for (i=k; i<=j; i++) if (p[i]>p[i+1]) { d=p[i]; p[i]=p[i+1]; p[i+1]=d; m=i;}... -
1~N的n个数按大小顺序的全排列的c程序
2015-03-18 21:56:30代码非常简洁,只有不到40行,是一个大牛写的,我也没有看懂。保证可用,大家可以下载下来一起学习一下。 -
将一组8个实数存入数组,并进行从小到大的排序,排序后输出结果
2021-04-20 20:22:15将一组8个实数存入数组,并进行从小到大的排序,排序后输出结果。(冒泡和选择排序都可以)</p> -
插入排序法.c
2019-07-14 09:40:51使用插入排序算法对输入的n个整数,按照从小到大的顺序排序。 Input Description 第一行输入一个整数n(0)。 第二行输入n个整数。 Output Description 输出排序后的整数,每个整数之间以一个空格分隔。注意:最后... -
7-2 学生成绩排序 (15分)
2020-06-01 18:17:51假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生...输出从高到低排序后的学生信息,包括:学号、姓名、平均分(保留两位小数)。 输入样例: 3 101 Zhang 78 87 85 102 Wan