作为菜鸡在近期c语言学习中一些 忘记的语法 和 以前不知道的语法

1,。关于字符输入输出

%8d是要输出的整数占用8个字符,如果输出123,则会在123前面增加5个空格
如果输出的整数占用8个字符以上,则%8d的限制不起作用,会原样输出这个数
所以%8d的意思是输出的整数至少占用8个字符位置

2.百分数的输出

由于''中的%表示占位符
所以如果要输出字符%
就要print('%%')
例如,要输出'4 % 2 = 0',则
print('%d %% %d = %d' % (a1, b2, a1 % b2)

c=a*100/b

printf("%d%%",c)

3.浮点数的四舍五入

调用库函数中的四舍五入函数 round函数

库函数需要引用<math.h>头文件;2.传入参数为浮点数类型;3.返回一个整数。

就行了我们试着使用一下吧。比如我们需要将3.14159保留四位小数输出,需要四舍五入。请看代码:

#include <stdio.h>
#include <math.h>
int main()
{
    float num = 3.14159;
    num = round(num * 10000) / 10000.0;
    printf("%.4f", num);

}

4.浮点数的计算

double a = 4/3;
double b = 4.0/3.0;
  • 1
  • 2

前一个是按照整型计算, 所以a是1.0
后一个是按照浮点型计算, 所以 b是 1.333333(4.0/3也行)。

5.上下取整函数

ceil是天花板的意思,所以ceil函数是取比小数大的最接近这个小数的整数,如

ceil(3.14)=  4

ceil(5.99)=  6

floor是地板的意思,所以floor函数是取比小数小的最接近这个小数的整数,如

floor(3.14)=  3

ceil (5.99)=  5
——————————————

下列是一个上下取整的程序.

#include <stdio.h>
#include <math.h>

int main() {
    double num;
    printf("请输入一个小数: ");
    scanf("%lf", &num);
    int ceil_num = ceil(num); // 向上取整
    int floor_num = floor(num); // 向下取整
    printf("不小于它的最小整数为: %d\n", ceil_num);
    printf("不大于它的最大整数为: %d\n", floor_num);
    return 0;
}
6.sqrt(a)=对a求平方根;

7.浮点数相除细节

复制原式c=5/9*(f-32);
得到结果为0.000,
原因:整数相整除,不足1得0,0与其他相乘均为0
解决:把5或9改为5.0或9.0

8.四舍五入的设计

最简单方法,不用判断个位数大于等于小于5.



#include <stdio.h>
#include <math.h>
int main()
{
    int a,b;
    scanf("%d",&a);
        a+=5;
        b=a-a%10;
    printf("%d\n",b);
    return 0;
}
正常方法
#include<stdio.h>
int main()
{

int a,b;

scanf("%d",&a);

if(a%10>=5){
    b=a+(10-(a%10));
}
else{
    b=a-a%10
}
printf("%d",b);
}

9,n个数的比较大小

int main(){
int a[3],max=0,min=1000000;
for(int i=0;i<3;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<3;i++){
if(max < a[i]){
max = a[i];
}
if(min > a[i]){
min = a[i];
}
}
printf("The maximum number is : %d\n",max);
printf("The minimum number is : %d\n",min);
}

3替换为n即可。

9,去除浮点数小数点后的.0000000,则输出时写成%0.lf即可。

int容易溢出数据,大数据时最好用double型!

10.fabs函数,取绝对值

math库函数里,fabs(-5.1)=5.1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值