5、计算s,并输出
1 1 1 S = 1 + ── + ─── + …… + ────── 1+2 1+2+3 1+2+3+…+n
n通过键盘输入,例如:若n的值为11时,则函数值为:1.833333 #include
float s=1.0,h=1; for (i=2;i<=n;i++) {
h=h+i; s=s+1.0/h;
}
return s; }
void main() {
int n;float s;
printf(\ s=fun(n);
printf(\ }
5 / 53
6、将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,t中的数为:7531。 #include
while (s>0) {
d=s; if(d%2!=0) {
*t=d*s1+*t; s1=s1*10;
} s/=10; } } main() {
long s,t;
printf(\scanf(\ fun(s,&t);
printf(\}
6 / 53
7、计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值从键盘传入,若k的值为500,则输出4622。 #include
int m=0,mc=0,j; while((k>=1)&&(mc<10))
{
if ((k == 0)||(k == 0)) {
m=m+k;mc++; }
k--; }
return m; }
void main() {
printf(\}
7 / 53
8、已知一个数列的前三项分别为0,0,1, 以后的各项都是其相邻的前三项之和,计算并输出该数列前n项的平方根之和sum。例如,当n=10时,程序的输出结果应为:23.197745。 #include
double sum,s0,s1,s2,s; int k; sum = 1.0;
if(n <= 2) sum = 0.0; s0 = 0.0; s1 = 0.0; s2 = 1.0; for (k = 4; k <= n; k++) { s = s0 + s1 + s2; sum += sqrt(s);
s0 = s1; s1 = s2; s2 = s; } return sum; }
void main ( ) { int n;
printf(\ scanf(\ printf(\}
8 / 53