C语言经典编程题
“蓝桥杯”软件大赛练习题
1、求101~200之间一共有多少个素数
#include <stdio.h>
#include <math.h>
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("101~200之间素数个数是%d",num);
}
2、求最大公约数和最小公倍数
#include <stdio.h>
int zdgxs(int x,int y)
{
int t;
if(x<y)
{
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("please input two numbers:");
scanf("%d%d",&a,&b);
gxs=zdgxs(a,b);
gbs=zxgbs(a,b);
printf("%d和%d的最大公约数是%d\n",a,b, gxs);
printf("%d和%d的最小公倍数是%d\n",a,b, gbs);
}
3、请找出十个最小的连续自然数,它们个个都是合数(非素数) #include <stdio.h>
#include <math.h>
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++)
{
if(!su(i))
a[num++]=i;
else
num=0;
if(num>=10) break;
}
for(i=0;i<num;i++)
printf("%ld\n",a[i]);
}
4、分数比较
比较两个分数的大小。
*问题分析与算法设计
人工方式下比较分数大小最常用的方法是:进行分数的通分后比较分子的大小。可以编程模拟手式方式。
#include <stdio.h>
int zdgxs(int x,int y)
{
int t;
if(x<y)
{
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("%d%d",&a,&b);
printf("请输入第二个数的分子和分母:");
scanf("%d%d",&c,&d);
printf("你所输入的两个分数是%d/%d,%d/%d\n",a,b,c,d);
gbs=zxgbs(b,d);
a1=gbs/b*a;
c1=gbs/d*c;
if(a1>c1) printf("%d/%d>%d/%d\n",a,b,c,d);
else if(a1<c1) printf("%d/%d<%d/%d\n",a,b,c,d);
else printf("%d/%d=%d/%d\n",a,b,c,d);
}
5、猜数字游戏
#include <stdio.h>
main()
{
int num1,num2;
srand(time(NULL));
num1=rand()%100;
printf("请输入一个0到100之间的整数:");
scanf("%d",&num2);
while(1)
{
scanf("%d",&num2);
if(num1==num2)
{
printf("你真棒,猜对了!");
break;
}
else
{
if(num1<num2) printf("猜大了,重猜!");
else printf("太小了,重猜!");
}
}
}
6、抓交通肇事犯 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 *问题分析与算法设计
按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。
#include <stdio.h>
#include <math.h>
main()
{
int num,i,j,k;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
if(i!=j)
{
num=i*1000+i*100+j*10+j;
for(k=1;k*k<=num;k++)
if(k*k==num)
printf("num=%d,k=%d\n",num,k);
}
}
7、排队
把N个同学排成一排, 由前向后按1,2,1,2......报数, 报单数的走出队伍, 报双数的向前靠拢重新组成一排, 然后再1,2,1,2......报数, 报单数的走出队伍, 问剩下最后一个人时, 这个人原来在哪个位置.(N由键盘输入)
#include <stdio.h>
#include <malloc.h>
struct node
{
int data1;
int data2;
struct node *next;
};
struct node * create_list(int n)
{
struct node *head,*p,*q;
int i;
head=(struct node *)malloc(sizeof(struct node));
head->data1=1;
head->data2=1;
p=head;
for(i=2;i<=n;i++)
{
q=(struct node *)malloc(sizeof(struct node));
q->data1=i;
q->data2=i;
p->next=q;
p=q;
}
p->next=NULL;
return(head);
}
struct node * delete_node(struct node *head,struct node *p)
{
struct node *q;
if(p==head)
{
head=p->next;
p->next=NULL;
}
else
{
q=head;
while(q->next!=p)
q=q->next;
q->next=p->next;
}
free(p);
return (head);
}
main()
{
struct node *head,*p,*q;
int num,i;
printf("请输入人数:");
scanf("%d",&num);
head=create_list(num);
while(num>1)
{
p=head;
while(p)
{
if((p->data1)%2)
{
q=p;
p=p->next;
head=delete_node(head,q);
num--;
}
else
p=p->next;
}
p=head;
i=1;
while(p)
{
p->data1=i;
i++;
p=p->next;
}
}
printf("最后剩下的人原来的位置是%d\n",head->data2);
}
8、古堡算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:ABCDE应该代表不同的数字,问号也代表某个数字!华生:“我猜也是!于是,两人沉默了好久,还是没有算出合适 …… 此处隐藏:6963字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




