自由尋覓快樂別人從沒法感受

0%

题目:用递归方法求n解勒让德多项式的值

公式详情:https://baike.baidu.com/item/勒让德多项式

主要代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# include <stdio.h>
# include <iostream>
float polya(float n,float x);

int main (void)
{
float x,n,y;
printf("input x:");
scanf("%f",&x);
printf("input n:");
scanf("%f",&n);
y=polya(n,x);
printf("answer:%f\n",y);
return 0;
}

float polya(float n,float x)

{
if (n==0)
{
return 1.0;
}
else if(n==1)
{
return x;
}
else
{
return ( (2.0*n-1.0)*x*polya(n-1.0,x) - (n-1.0)*polya(n-2.0,x) )/n;
}

}
阅读全文 »

题目:求一元二次方程的根,用3个函数分别求判别式大于0、等于0和小于0时的根,并输出结果。

主函数中输入系数a、b、c。

主要代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# include <stdio.h>
# include <math.h>

double function1(double a,double b,double c);
double function2(double a,double b,double c);
int judge(int a);
int jdelta(int a,int b,int c);

int main (void)
{
double a,b,c,delta;
printf("一元二次方程计算器:\n");
printf("input a:");
scanf("%lf",&a);
printf("input b:");
scanf("%lf",&b);
printf("input c:");
scanf("%lf",&c);
if ( judge(a) )
{
printf("error!");
}
else
{
delta = jdelta(a,b,c);
printf("dleta=%f\n",delta);
if (delta>0)
{
printf("方程有两个不等实根:");
function1(a,b,c);
}
else if (delta==0)
{
printf("方程有两个相等实根:");
function1(a,b,c);
}
else
{
printf("方程有两个复数根:");
function2(a,b,c);
}
}
return 0;
}

double function1(double a,double b,double c)
{
double x1,x2,delta;
delta = b*b - 4*a*c;
x1 = (-b + sqrt(delta))/(2*a);
x2 = (-b - sqrt(delta))/(2*a);
printf("x1=%.2lf,",x1);
printf("x2=%.2lf\n",x2);
return 0;
}

double function2(double a,double b,double c)
{
double x1,x2,delta;
delta = -(b*b - 4*a*c);
x1 = -(b/(2*a))+sqrt(delta)/(2*a);
x2 = -(b/(2*a))-sqrt(delta)/(2*a);
printf("x1=%.2lfi,",x1);
printf("x2=%.2lfi\n",x2);
return 0;
}

int judge (int a)
{
if (a==0)
return 1;
else
return 0;
}

int jdelta (int a,int b,int c)
{
int delta;
delta = b*b - 4*a*c;
return delta;
}
阅读全文 »

题目:输入一无符号整数,求所有数位上数字之和。

主要代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# include <stdio.h>
int main (void)
{
int num,a,b,sum=0;
printf("input a int number:");
scanf("%d",&num);
while (b!=0)
{
a = num%10;
num = num/10;
b = num;
sum = sum + a;
}
printf("all add up:%d \n",sum);
return 0;
}
阅读全文 »

题目:编写一个程序,完成如下功能:

从键盘上输入若干个学生的成绩,统计输出所有学生成绩之和,并计算这些学生的平均成绩。

主要代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# include <stdio.h>
# include <stdlib.h>
int main(void)
{
float c,avg,sum=0;
int a,b;
printf("How many students:");
scanf("%d",&a);
if (a<=0)
{
exit(0);
}
printf("Input data:");
for (b=0;b<a;b++)
{
scanf("%f",&c);
sum = sum + c;
}
printf("sum=%.3f \n",sum);
avg = sum/(float)a;
printf("avg=%.3f \n",avg);
return 0;
}
阅读全文 »

题目:请编写一个程序,实现以下功能:接收键盘上的输入,直到按Enter键为止,对于这些字母按如下规则进行转换:

①如果输入的大写字母,请转换为小写字母;如果输入的小写字母,请转换为大写字母。
②对于非字母字符,则不进行转换,原样输出。
③若有连续的一个以上的空格时,则只输出一个空格。
请对输入的信息按上述规则进行转换后,再在屏幕上进行输出。

阅读全文 »