c语言练习Word格式.docx
- 文档编号:20231027
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:14
- 大小:17.20KB
c语言练习Word格式.docx
《c语言练习Word格式.docx》由会员分享,可在线阅读,更多相关《c语言练习Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
for(k=1;
k<
=j;
k++)
a[k]);
for(m=2;
m<
=a[k]/2;
m++)
if(a[k]%m==0)
break;
}
if(a[k]!
=1&
&
m>
a[k]/2)
sum=sum+a[k];
printf("
%d\n"
sum);
sum=0;
return0;
31~5个数求最值
1000
1
设计一个从5个整数中取最小数和最大数的程序
输入只有一组测试数据,为五个不大于1万的正整数
输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。
inta[5];
intmax,min,i;
a[0]);
max=min=a[0];
for(i=1;
i<
=4;
i++)
{scanf("
a[i]);
if(max<
a[i])
max=a[i];
if(min>
min=a[i];
%d%d\n"
min,max);
39~水仙花数
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。
有多组测试数据,每组测试数据以包含一个整数n(100<
=n<
1000)
输入0表示程序输入结束。
如果n是水仙花数就输出Yes
否则输出No
inta,b,c,n;
n);
while(n)
a=n/100;
b=(n-100*a)/10;
c=n-a*100-b*10;
if(a*a*a+b*b*b+c*c*c==n)
Yes\n"
);
else
No\n"
40~公约数和公倍数
小明被一个问题给难住了,现在需要你帮帮忙。
问题是:
给出两个正整数,求出它们的最大公约数和最小公倍数。
第一行输入一个整数n(0<
n<
=10000),表示有n组测试数据;
随后的n行输入两个整数i,j(0<
i,j<
=32767)。
输出每组测试数据的最大公约数和最小公倍数
intmain(){
intN;
&
N);
while(N--){
intn,m,p;
%d%d"
n,&
m);
p=n*m;
while(m!
=n){
if(m>
n)
m=m-n;
n=n-m;
n,p/n);
41~三个数从小到大排序
现在要写一个程序,实现给三个数排序的功能
输入三个正整数
给输入的三个正整数排序
#include<
intmain(){
inta[3],i,j,temp;
for(i=0;
3;
for(j=i;
j<
j++)
if(a[i]>
a[j])
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
%d"
a[i]);
}11~奇偶数分离
有一个整型偶数n(2<
=n<
=10000),你要做的是:
先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。
第一行有一个整数i(2<
=i<
30)表示有i组测试数据;
每组有一个整型偶数n。
第一行输出所有的奇数
第二行输出所有的偶数
intt;
t);
while(t--)
inti,n;
=n;
if(i%2!
=0)printf("
i);
\n"
if(i%2==0)printf("
输入20个1~20的数,在1~5中的有几个
voidmain()
intnum[20],time=0,i;
for(i=0;
20;
scanf("
num[i]);
{
if(num[i]>
num[i]<
=20)
{
if(num[i]<
=5&
num[i]>
=1)
time+=1;
}
}
printf("
time);
验证哥德巴赫猜想
math.h>
intisprime(intn)
inti;
intm=sqrt(n);
for(i=2;
=m;
if(n%i==0)
break;
return(i==m+1);
inti,even;
do
even);
while(even<
4||even%2!
=0);
even/2;
if(isprime(i)==1&
isprime(even-i)==1)
printf("
%d=%d+%d\n"
even,i,even-i);
在数组中找key元素
普通法
intf(inta[],intn,intkey)
n;
++i)
if(a[i]==key)
returni;
return-1;
intn,a[100],key,i,s=-1;
key=8;
scanf("
s=i;
if(s!
=-1)
printf("
s);
else
%2d\n"
-1);
return0;
函数法
intn,a[100],key,i;
f(a,n,key));
递归法
intf(inta[],intn,intkey)
if(n<
0)
return-1;
if(a[n-1]==key)
returnn-1;
returnf(a,n-1,key);
intn,a[100],key,i;
素数距离问题
stdlib.h>
int
f1(int
m)
i;
k=(int)(sqrt(m));
for(i=2;
=k;
if(m%i==0)
m=m-1;
return
f1(m);
if(i>
k)
m;
f2(int
m=m+1;
f2(m);
main()
int
n,a;
while(n--)
a);
if(a==1)
2
1\n"
d1=abs(a-f1(a));
d2=abs(a-f2(a));
if(d1<
=d2)
%d
f1(a),d1);
f2(a),d2);
0;
代换
#defineN3.14159
#definemylove(x)x*x
doubler=3,s;
s=N*mylove(r);
%lf\n"
参数化宏与函数
#defineA(x)((x)>
0?
(x):
(-x))
doublemy(doublex)
returnx>
x:
-x;
voidmain()
A(-3)=%d\n"
A((-3)));
my(-3)=%lf\n"
my(-3));
A(-3-1)=%d\n"
A((-3-1)));
my(-3-1)=%lf\n"
my(-3-1));
A(-3.5)=%.1f\n"
A((-3.5)));
my(-3.5)=%lf\n"
my(-3.5));
定义一个求两数较小者的宏
#definemin(x,y)(x>
y?
y:
x)
intx,y;
%d%d"
x,&
y);
min(x,y));
定义宏,小变大,大不变
#defineUPPER
charstr[100];
gets(str);
#ifdefUPPER
str[i]!
='
\0'
;
if(str[i]>
a'
str[i]<
z'
)
str[i]-='
-'
A'
#else
Z'
str[i]+='
#endif
puts(str);
输入字符串和一个整数,整数为1,变大,为2,变小
inti,flag;
do
请输入一个整数:
1大写,2小写!
flag);
}while(flag!
flag!
=2);
if(flag==1)
for(i=0;
if(str[i]>
str[i]-='
str[i]+='
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习