C语言经典编程题

精品文档

“蓝桥杯”软件大赛练习题

求素数 最大公约数 和最小公倍数 连续自然数 分数比较 猜数字游戏 抓交通肇事犯 古堡算式 约瑟夫问题 捕鱼问题 出售金鱼 亲密数 完全数 加密 巧夺偶数

数字移动 1、求101~200之间一共有多少个素数

#include #include int su(int m) {

int i,n=1;

for(i=2;i<=sqrt(m);i++) if (m%i==0) { n=0; break; } return n; }

main() {

int i,num=0;

for(i=101;i<=200;i++) if(su(i)) num++; printf(\之间素数个数是%d\}

。 1欢迎下载

精品文档

2、求最大公约数和最小公倍数

#include

int zdgxs(int x,int y) {

int t; if(x

t=x;x=y;y=t; }

t=x%y; while(t) {

x=y; y=t; t=x%y; }

return y; }

int zxgbs(int x,int y) {

return (x*y/zdgxs(x,y)); }

main() {

int a,b,gxs,gbs;

printf(\ scanf(\ gxs=zdgxs(a,b); gbs=zxgbs(a,b);

printf(\和%d的最大公约数是%d\\n\ printf(\和%d的最小公倍数是%d\\n\}

3、请找出十个最小的连续自然数,它们个个都是合数(非素数)

#include #include int su(long m) {

int i,n=1;

for(i=2;i<=sqrt(m);i++) if (m%i==0) { n=0; break; } return n; }

main() {

int num=0; long i,a[10]; for(i=1;;i++) {

。 2欢迎下载

精品文档

if(!su(i)) a[num++]=i; else num=0; if(num>=10) break; }

for(i=0;i

4、分数比较

比较两个分数的大小。

*问题分析与算法设计

人工方式下比较分数大小最常用的方法是:进行分数的通分后比较分子的大小。可以编程模拟手式方式。

#include

int zdgxs(int x,int y) {

int t; if(x

t=x;x=y;y=t; }

t=x%y; while(t) {

x=y; y=t; t=x%y; }

return y; }

int zxgbs(int x,int y) {

return (x*y/zdgxs(x,y)); }

main() {

int a,b,c,d,gbs,a1,c1;

printf(\请输入第一个数的分子和分母:\ scanf(\

printf(\请输入第二个数的分子和分母:\ scanf(\

printf(\你所输入的两个分数是%d/%d,%d/%d\\n\ gbs=zxgbs(b,d); a1=gbs/b*a; c1=gbs/d*c;

if(a1>c1) printf(\

else if(a1

。 3欢迎下载

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4