文档详情

C语言期末考试编程题.pdf

发布:2021-09-01约7.14千字共31页下载文档
文本预览下载声明
1. 打印出所有的“水仙花数”,并 按照一行5个的格式输出。所谓“水 仙花数”是指一个三位数,其各位 数字立方和等于该数本身。例如: 153是一个“水仙花数”,因为 153=1*1*1+5*5*5 +3*3*3 。 #include voidmain() { inta,b,c,s,i=0; for(s=100;s1000;s++) { c=s%10; b=s/10%10; a=s/100; if(s==a*a*a+b*b*b+c*c*c) { printf(%d\t,s); ++i; if(i%5==0) printf(\n); } } } 2. 求1+2!+3!+...+20! 的和 #include voidmain() { doublefact=,sum=; inti,j; for(i=1;i=20;i++) { for(j=1;j=i;j++) fact*=j; sum+=fact; fact=1; } printf(%.0f\n,sum); } 3. 输入一个 5位数,判断它是不是回 文数。即 12321是回文数,个位与万 位相同,十位与千位相同。 #include #include voidmain() { longnum; inta,b,c,d; printf(Pleaseinputthenumber:) ; scanf(%d,num); if(num=9999||num=100000) { printf(%Thenumberiserror!\n); exit(0); } a=num/10000; b=num/1000%10; c=num/10%10; d=num%10; if(a==db==c) printf(\nYes,the%ldispalindrom e!\n,num); else printf(\nNo,the%ldisnotpalindr ome!\n,num); } 4. 求出 1 到 1000 之内能被 7 或 11 整 除、但不能同时被 7 和 11 整除的所 有整数并并按照一行 5 个的格式输 出。 #include voidmain() { intnum,i=0; for(num=1;num=1000;num++) if(((num%7||num%11)==1)((num% 7num%11)==0)) { printf(%d\t,num); ++i; if(i%5==0) printf(\n); } } 5. 编程列出 200 以内所有的素数,按 照一行 10 个的格式输出,并求出所 有素数的平均值, #include #include voidmain() { inti,j,k=0,sum=0,avg=0; for(i=2;i200;i++) { for(j=2;j=sqrt(i);j++) if(i%j==0) break; if(jsqrt(i)) { printf(%d\t,i); ++k; sum+=i; if(k%10==0)printf(\n); } } avg=sum/k; printf(\nTheaverageis%d\n,avg ); } 6、编写一个函数,输入 n 为偶数 时,调用函数求 1/2+1/4+...+1/n, 当输入 n 为奇数时,调用函数 1+1/3+1/5...+1/n #include voidmain() { voidodd(intn); voideven(intn); intn; printf(Pleaseinputthenumber:) ; scanf(%d,n); if(n%2) odd(n); else even(n); } voidodd(intn) { floatsum=; floatj; inti; for(i=1;i=n;i+=2) { j=i; sum+=j; } printf(%f\n,sum); } voideven(intn) { floa
显示全部
相似文档