C语言期末习题2

求一元二次方程一般式的根的情况

#include<stdio.h>
#include<math.h>
void root_2(float a2,float b2,float c2)
{
	float x1,x2;
	x1=-b2/2/a2+sqrt(b2*b2-4*a2*c2)/2/a2;
	x2=-b2/2/a2-sqrt(b2*b2-4*a2*c2)/2/a2;
	printf(" 方程有两个实根 :x1=%f,x2=%f\n",x1,x2);
}
void root_1(float a1,float b1,float c1)
{
	float x;
	x=-b1/2/a1;
	printf(" 方程有两个等根 :x1=x2=%f\n",x);
}
void root_0(float a0,float b0,float c0)
	{ printf(" 方程无实根 ");}
main()
{
	float a,b,c;
	printf("input a,b,c:");
	scanf("%f%f%f",&a,&b,&c);
	if (b*b-4*a*c<0) root_0(a,b,c);
	else if (b*b-4*a*c>0) root_2(a,b,c);
	else root_1(a,b,c);
}

在这里插入图片描述在这里插入图片描述
四、 编程题(20 分,任选 2 题,每题 10 分)
1、
main() 结构正确 1 分
{ int n, t; 变量及函数说明正确 2 分
long fact(int);
scanf("%d",&n); 输入正确 1 分
t=fact(n); 调用语句正确 1 分
printf("\n%d",t);
}
long fact(int n) 函数类型及形参正确 1 分
{ long s;
if (n==1) s=1; 递归公式 1 正确 1 分
else
s=n*fact(n-1); 递归公式 2 正确 2 分
return s; 返值正确 1 分
}
2
main() 结构正确 1 分
{ int a[10], i ; 变量定义及函数说明正确 2 分
void sort(int b[]);
for(i=0;i<10;i++) 输入正确 1 分
scanf(“%d”,&a[i]);
sort(a); 函数调用及参数传递正确 1 分
printf("\n");
for(i=0;i<10;i++) 输出正确 1 分
printf("%d, “,a[i]);
}
void sort( int b[] ) 结构正确 1 分
{ int i,j
for(i=0;i<9;i++) 排序正确 3 分
for(j=9;j>i;j–)
if(a[j]<a[j-1])
t=a[j],a[j]=a[j-1],a[j-1]=t;
}
3、
#include “stdio.h”
main() 结构正确 1 分
{
char str[100],*st;int d,x,s,q;
zm=sz=qt=0; 变量定义及初始值正确 1 分
gets(str); 输入正确 1 分
for(st=str;*st!=’\0’;st++) 循环参数参数设置正确 2 分
if(*st>=‘a’&&*st<=‘z’||*st>=‘A’&&*st<=‘Z’)
zm=zm+1;
else if(*st>=‘0’&&*st<=‘9’)
sz++;
else ++qt; 统计正确 3 分
printf(“ZM=%d, SZ=%d, QT=%d”,zm,sz,qt) 输出正确 2 =s2[j++];
s1[i]=’\0’;
s3=s1;
}
int main() {
char s1[81],s2[81],s3[81];//必须给出数组长度
gets(s1);
gets(s2);
cat( s1, s2, s3);
printf(”%s",s3);
return 0;
}
编写函数 fun,对于给定的具有 n 个元素的数组 x,计算并通过参数“返
回”该数组的最大值、最小值、平均值。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值