1.【分段函数】
输入x ,计算并输出下列分段函数 f(x) 的值。可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs() 和幂函数 pow()。

保留2位小数
#include<stdio.h>
#include<math.h>
int main()
{
float x,f;
scanf("%f",&x);
if(x>=0 && x<2)
f=sqrt(x+1);
else if(x>=2 && x<4)
f=pow(x+2,5);
else if(x>=4)
f=2*x+5;
else
f=fabs(x);
printf("%.2f\n",f);
return 0;
}
2.【温度转换】
输出一张摄氏一华氏温度转换表,摄氏温度的取值区间是[-100℃,150℃ ],温度间隔5℃,要求定义和调用函数 ctof(c),将摄氏温度C转换成华氏温度F,计算公式:
F = 32 + C* 9/5。
例如
c=0->f=32
c=5->f=41
c=10->f=50
c=15->f=59
c=20->f=68
c=25->f=77
c=30->f=86
c=35->f=95
c=40->f=104
c=45->f=113
c=50->f=122
c=55->f=131
c=60->f=140
c=65->f=149
#include<stdio.h>
int main()
{
int ctof(int c);
int c;
for(c=-100;c<=150;c=c+5) //循环量每次+5的写法
{
printf("c=%d->f=%d\n",c,ctof(c)); //注意函数的调用
}
return 0;
}
int ctof(int c)
{
int f;
f=32+c*9/5; //注意公式
return f;
}
3.【寻找矩阵最值】
输入一个正整数n (1≤ n ≤6),再输入一个n 行n列的矩阵,找出该矩阵中绝对值最大的元素以及它的行下标和列下标。
#include<stdio.h>
int main()
{
int n,max,b,c; //max为矩阵中最大的元素,b为矩阵中最大元素的行下标,c为矩阵中最大元素的列下标
int i,j;//i为矩阵行数,j为矩阵列数
int a[6][6]; //定义一个6行6列的数组(存放矩阵)
scanf("%d",&n);
for(i=0;i<n;i++) //i范围为[0,5],不包括n
{
for(j=0;j<n;j++) //j范围为[0,5]
{
scanf("%d",&a[i][j]); //输入一个矩阵
}
}
max=a[0][0]; //注意给max赋初值
for(i=0;i<n;i++) //i为行,i范围为[0,5]
{
for(j=0;j<n;j++) //j为列,j范围为[0,5]
{
if(max<a[i][j]) //判断矩阵中最大的元素
{
max=a[i][j]; //矩阵中最大的元素
b=i; //矩阵中最大元素的行值
c=j; //矩阵中最大元素的列值
}
}
}
printf("%d %d %d\n",max,b+1,c+1); //行下标和列下标需要+1
return 0;
}
4.【成绩归类】
编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。
运行示例:

#include<stdio.h>
int main()
{
int n; //n为学生的成绩
int a=0,b=0,c=0; //a为优秀人数,b为通过人数,c为不及格人数
while(1) //无上限的死循环用while(1)
{
scanf("%d",&n); //输入一个数判断一下
if(n<0 || n==0) break;
else if(n>=85)
a++;
else if(n>=60 && n<85)
b++;
else
c++;
}
printf(">=85:%d\n60-84:%d\n<60:%d\n",a,b,c);
return 0;
}
5.【阶乘公式求值】
编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。
1+1/2+ .... +1/n!
输出保留5位小数。
#include<stdio.h>
int main()
{
double fact(int n);
int n;
double sum=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
sum=sum+1.0/fact(i); //浮点数/浮点数=sum浮点数
}
printf("sum=%.5lf\n",sum);
return 0;
}
double fact(int n)
{
double j=1; //注意此处的j,为double类型
for(int i=1;i<=n;i++)
{
j=i*j;
}
return j;
}