C语言Word格式文档下载.docx
《C语言Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
这是素数\n"
}
intpanduan(int*p)
inti,m=1;
for(i=2;
i<
=sqrt(*p);
i++)
{
if(*p%i==0)
{
m=0;
break;
}
}
returnm;
intpanduan(intn);
&
n);
m=panduan(n);
intpanduan(intn)
=sqrt(n);
if(n%i==0)
2.求两个正整数的最大公约数和最小公倍数
intm,n,a,b;
int*p1=&
m,*p2=&
intgongyue(int*p1,int*p2);
intgongbei(int*p1,int*p2);
请输入两个正整数,逗号隔开:
%d,%d"
p1,p2);
a=gongyue(p1,p2);
b=gongbei(p1,p2);
最大公约数是%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);
t=t/a;
returnt;
intgongyue(intm,intn);
intgongbei(intm,intn);
m,&
a=gongyue(m,n);
b=gongbei(m,n);
intgongyue(intm,intn)
r=m%n;
m=n;
n=r;
r=m%n;
returnn;
intgongbei(intm,intn)
t=m*n;
intm,n,r,t;
n,t/n);
3.判断某一年是否是闰年
4.求方程ax2+bx+c=0的根
inta,b,c,disc;
voiddenggen(inta,intb,intc);
voidshuanggen(inta,intb,intc);
voidfugen(inta,intb,intc);
请输入二元一次方程的系数,空格隔开:
%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));
有两个相等的根:
x1=x2=%.3f\n"
x);
voidshuanggen(inta,intb,intc)
intdisc;
floatx1,x2;
x1=(float)(-b+sqrt(disc))/(2*a);
x2=(float)(-b-sqrt(disc))/(2*a);
有两个不相等的根:
x1=%.3f,x2=%.3f\n"
x1,x2);
voidfugen(inta,intb,intc)
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.统计一串字符中字母、数字、空格和其他字符
voidmain()
charstr[100];
char*p=str;
voidcount(char*p);
输入一串字符:
\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'
Z'
)
word++;
elseif(*(p+i)>
'
0'
9'
)
number++;
elseif(*(p+i)=='
'
kongge++;
else
other++;
字母=%d,数字=%d,空格=%d,其它=%d\n"
word,number,kongge,other);
7.求n!
intn;
floatsum(intn);
sum(n);
请输出n!
的值:
%.0f\n"
sum(n));
floatsum(intn)
floaty=1;
if(n==1)
returny;
y=sum(n-1)*n;
8.求∑n
9.冒泡/起泡法排序
inta[10];
voidinput(inta[10]);
voidpaixu(inta[10]);
voidshuchu(inta[10]);
input(a);
paixu(a);
shuchu(a);
voidinput(inta[10])
10;
请输入第%d个整数:
i+1);
scanf("
a[i]);
voidpaixu(inta[10])
inti,j,t;
for(j=0;
j<
9;
j++)
for(i=0;
9-j;
if(a[i]<
a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
voidshuchu(inta[10])
这10个数从大到小输出:
%-4d"
a[i]);
指针
int*p=a;
voidinput(int*p);
voidpaixu(int*p);
voidshuchu(int*p);
input(p);
paixu(p);
shuchu(p);
voidinput(int*p)
p+i);
voidpaixu(int*p)
if(*(p+i)<
*(p+i+1))
t=*(p+i);
*(p+i)=*(p+i+1);
*(p+i+1)=t;
voidshuchu(int*p)
*(p+i));
10.将数组元素逆序存放
string.h>
voidinput(charstr[100]);
voidfanxu(charstr[100]);
voidshuchu(charstr[100]);
input(str);
fanxu(str);
shuchu(str);
voidinput(charst