C语言课后题,调用3个函数求2次方程的根,编写程序如下

Python019

C语言课后题,调用3个函数求2次方程的根,编写程序如下,第1张

#include<stdio.h>

#include<math.h>

void zero(float a,float b)

void left()

void right(float a,float b,float c)

void main()

{

float a,b,c,d

printf("请输入a,b,c的值:\n")

scanf("%f %f %f",&a,&b,&c)

d=b*b-4*a*c

if(d==0)zero(a,b)

if(d<0)left()

if(d>0)right(a,b,c)

}

void zero(float a,float b)

{

printf("%f",-b/2*a)

}

void left()

{

printf("no roots!\n")

}

void right(float a,float b,float c)

{

float x1,x2

x1=(-b+sqrt(b*b-4*a*c))/(2*a)

x2=(-b-sqrt(b*b-4*a*c))/(2*a)

printf("%f %f \n",x1,x2)

}

#include <stdio.h>

int main() {

int a,s,i,j

for(a = 2a <= 10000a++) {

s = 0

for(i = 1i < ai++) // 因子不包括本身

if((a % i) == 0) s = s + i

if(s == a) {

printf("%d's factors are ",a)

for(j = 1j < aj++)

if((a % j) == 0) printf("%d ",j)

printf("\n")

}

}

return 0

}

第一题

#include<stdio.h>

void main()

{ int i

int count=1

printf("请输入数据:")

scanf("%d",&i)

printf("逆序输出结果为:")

while(i/10)

{printf("%d ",i%10)

count++

i=i/10}

printf("%d\n",i%10)

printf("它是%d位数\n",count)

}

第二题

#include<stdio.h>

int fact(int n)

{

int i

int f=1

for(i=1i<=ni++)

f*=i

return f

}

float sum(int n)

{

float sum1=0

int i

for(i=1i<=ni++)

sum1+=1.0/fact(i)

return sum1

}

void main()

{ int i

float total

printf("请输入数据:")

scanf("%d",&i)

total=sum(i)

printf("结果为:")

printf("%.5f ",total)

}

上面两个程序已经上机通过了。。。