debug记录4:float实数排序,%g格式

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); 

(4条消息) C语言中%g的使用_桃花er的博客-CSDN博客_c语言%ghttps://blog.csdn.net/weixin_45930241/article/details/108587822?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-108587822-blog-49443531.pc_relevant_antiscanv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-108587822-blog-49443531.pc_relevant_antiscanv3&utm_relevant_index=2

 2.记住排序的时候要-1

3.定义函数的时候要记得加上关键字定义变量类型!(t的类型是float!一定要想清楚)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值