C语言.docx
- 文档编号:2875257
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:20
- 大小:18.15KB
C语言.docx
《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(20页珍藏版)》请在冰豆网上搜索。
C语言
1.判断一个数是否是素数
#include
#include
voidmain()
{
intn,m;
int*p=&n;
intpanduan(int*p);
printf("请输入n的值:
");
scanf("%d",p);
m=panduan(p);
if(m==0)
printf("这不是素数\n");
else
printf("这是素数\n");
}
intpanduan(int*p)
{
inti,m=1;
for(i=2;i<=sqrt(*p);i++)
{
if(*p%i==0)
{
m=0;
break;
}
}
returnm;
}
#include
#include
voidmain()
{
intn,m;
intpanduan(intn);
printf("请输入n的值:
");
scanf("%d",&n);
m=panduan(n);
if(m==0)
printf("这不是素数\n");
else
printf("这是素数\n");
}
intpanduan(intn)
{
inti,m=1;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
m=0;
break;
}
}
returnm;
}
2.求两个正整数的最大公约数和最小公倍数
#include
voidmain()
{
intm,n,a,b;
int*p1=&m,*p2=&n;
intgongyue(int*p1,int*p2);
intgongbei(int*p1,int*p2);
printf("请输入两个正整数,逗号隔开:
");
scanf("%d,%d",p1,p2);
a=gongyue(p1,p2);
b=gongbei(p1,p2);
printf("最大公约数是%d,最小公倍数是%d\n",a,b);
}
intgongyue(int*p1,int*p2)
{
intr;
r=(*p1)%(*p2);
while(r!
=0)
{
*p1=*p2;
*p2=r;
r=(*p1)%(*p2);
}
return*p2;
}
intgongbei(int*p1,int*p2)
{
intt,a;
t=(*p1)*(*p2);
a=gongyue(p1,p2);
t=t/a;
returnt;
}
#include
voidmain()
{
intm,n,a,b;
intgongyue(intm,intn);
intgongbei(intm,intn);
printf("请输入两个正整数,逗号隔开:
");
scanf("%d,%d",&m,&n);
a=gongyue(m,n);
b=gongbei(m,n);
printf("最大公约数是%d,最小公倍数是%d\n",a,b);
}
intgongyue(intm,intn)
{
intr;
r=m%n;
while(r!
=0)
{
m=n;
n=r;
r=m%n;
}
returnn;
}
intgongbei(intm,intn)
{
intt,a;
t=m*n;
a=gongyue(m,n);
t=t/a;
returnt;
}
#include
voidmain()
{
intm,n,r,t;
printf("请输入两个正整数,逗号隔开:
");
scanf("%d,%d",&m,&n);
r=m%n;
t=m*n;
while(r!
=0)
{
m=n;
n=r;
r=m%n;
}
printf("最大公约数是%d,最小公倍数是%d\n",n,t/n);
}
3.判断某一年是否是闰年
4.求方程ax2+bx+c=0的根
#include
#include
voidmain()
{
inta,b,c,disc;
voiddenggen(inta,intb,intc);
voidshuanggen(inta,intb,intc);
voidfugen(inta,intb,intc);
printf("请输入二元一次方程的系数,空格隔开:
");
scanf("%d%d%d",&a,&b,&c);
disc=b*b-4*a*c;
if(disc==0)denggen(a,b,c);
if(disc>0)shuanggen(a,b,c);
if(disc<0)fugen(a,b,c);
}
voiddenggen(inta,intb,intc)
{
floatx;
x=(float)(-b/(2*a));
printf("有两个相等的根:
x1=x2=%.3f\n",x);
}
voidshuanggen(inta,intb,intc)
{
intdisc;
floatx1,x2;
disc=b*b-4*a*c;
x1=(float)(-b+sqrt(disc))/(2*a);
x2=(float)(-b-sqrt(disc))/(2*a);
printf("有两个不相等的根:
x1=%.3f,x2=%.3f\n",x1,x2);
}
voidfugen(inta,intb,intc)
{
intdisc;
disc=b*b-4*a*c;
floatm,n;
m=(float)-b/(2*a);
n=(float)(sqrt(-disc))/(2*a);
printf(“有两个复根:
x1=%.2f+%.2fi,x2=%.2f-%.2fi\n",m,n,m,n);
}
5.译密码(按一定规则处理字符串)
6.统计一串字符中字母、数字、空格和其他字符
#include
voidmain()
{
charstr[100];
char*p=str;
voidcount(char*p);
printf("输入一串字符:
\n");
gets(p);
count(p);
}
voidcount(char*p)
{
inti;
intword=0,number=0,kongge=0,other=0;
for(i=0;*(p+i)!
='\0';i++)
{
if(*(p+i)>='a'&&*(p+i)<='z'||*(p+i)>='A'&&*(p+i)<='Z')
word++;
elseif(*(p+i)>'0'&&*(p+i)<'9')
number++;
elseif(*(p+i)=='')
kongge++;
else
other++;
}
printf("字母=%d,数字=%d,空格=%d,其它=%d\n",word,number,kongge,other);
}
7.求n!
#include
voidmain()
{
intn;
floatsum(intn);
printf("请输入n的值:
");
scanf("%d",&n);
sum(n);
printf("请输出n!
的值:
%.0f\n",sum(n));
}
floatsum(intn)
{
floaty=1;
if(n==1)
returny;
else
{
y=sum(n-1)*n;
returny;
}
}
8.求∑n
9.冒泡/起泡法排序
#include
voidmain()
{
inta[10];
voidinput(inta[10]);
voidpaixu(inta[10]);
voidshuchu(inta[10]);
input(a);
paixu(a);
shuchu(a);
}
voidinput(inta[10])
{
inti;
for(i=0;i<10;i++)
{
printf("请输入第%d个整数:
",i+1);
scanf("%d",&a[i]);
}
}
voidpaixu(inta[10])
{
inti,j,t;
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言
![提示](https://static.bdocx.com/images/bang_tan.gif)