当前位置:首页 » 编程语言 » c语言五选三
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言五选三

发布时间: 2023-04-07 17:40:56

⑴ 在c语言中,表达式5/3的结果是什么

5和3如果都是整形变量的话,那么结果就是1,因为‘/’是得到的结果是商。其实在写程序时,无论是%d还是%f,5/3都是等于1,无非是%f的话是1.0000。

编译环境为Dev-C++ TDM-GCC 4.9.2 64-bit。这个结果其实非常合理,C语言中,/是除法运算没错,但是5/3是两个整数相除,得到的结果也是一个整数,有点类似于一些语言当“整除”运算的概念。

那么要怎么样才能得到小数的结果呢?其实也很简单,按照整型类型数相除只能得到整型类型的结果来推测,基本可以得出结论:表达式中需要出现浮点数。至于浮点数做除数还是被除数都没有问题。如果是变量的话,可以先乘以1.0,然后再做除法运算,得到的结果也会是浮点数。



如果在整型表达式中 5 / 3 = 1,因为 int 数据类型会将小数点后面的指数部分直接截断。所以如果在需要精确到小数点的场景下,万万不可用整型数据类型。

而在浮点型表达式中 5 / 3 = 1.666667,因为浮点型(这里使用 float)他只保证小数点后6位的精确,并将最后一位四舍五入。所以如果要更加精确可以使用 double 或者是 long double。

⑵ C语言:输入5个学生3门课程的成绩,分别用函数实现一下功能


#include<stdio.h>

intmain()

{

voidmax(int[][5]);

voidaveragek(int[][5]);

voidaverages(int[][5]);

inta[10][5],i;

for(i=0;i<=9;i++)

{

printf("请输入第%d名学生五科成绩 :",i+1);

scanf("%d%d%d%d%d",&a[i][0],&a[i][1],&a[i][2],&a[i][3],&a[i][4]);

}

averages(a);

averagek(a);

max(a);

return0;

}

voidaverages(inta[][5])

{

intm,i;

for(i=0;i<=9;i++)

{

m=(a[i][0]+a[i][1]+a[i][2]+a[i][3]+a[i][4])/5;

printf("第%d名学生平均分为:%d ",i+1,m);

}

}

voidaveragek(inta[][5])

{

intm,i;

for(i=0;i<=4;i++)

{

m=(a[0][i]+a[1][i]+a[2][i]+a[3][i]+a[4][i]+a[5][i]+a[6][i]+a[7][i]+a[8][i]+a[9][i])/10;

printf("第%d科成绩平均分为%d ",i+1,m);

}

}

voidmax(inta[][5])

{

inti,j,max,k,g;

max=a[0][0];

for(i=0;i<=9;i++)

for(j=0;j<=4;j++)

{

if(a[i][j]>max)

{

max=a[i][j];

k=i;

g=j;

}

}

printf("第%d名学生的第%d科成绩取得最高分:%d ",k+1,g+1,max);

}