C语言程序设计练习题(含程序及参考答案)

.

1 1 1 S = 1 + ── + ─── + …… + ────── 1+2 1+2+3 1+2+3+…+n n通过键盘输入,例如:若n的值为11时,则函数值为:1.833333

#include #include float fun(int n) {

int i;

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(\

整理版

.

}

6、将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,

当s中的数为:87653142时,#include void fun(long s,long *t) {

int d; long s1=1;

*t=0;

while (s>0) {

d=s; if(d%2!=0) {

*t=d*s1+*t; s1=s1*10; } s/=10; } }

t中的数为:整理版

7531。 .

main() {

long s,t;

printf(\

scanf(\ fun(s,&t);

printf(\ }

7、计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值从键盘传入,若k的值为500,则输出4622。 #include int fun(int k) {

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(\ }

8、已知一个数列的前三项分别为0,0,1, 以后的各项都是其相邻的前三项之和,计算并输出该数列前n项的平方根之和sum。例如,当n=10时,程序的输出结果应为:23.197745。 #include #include double fun(n) {

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);

整理版

联系客服:779662525#qq.com(#替换为@)