C语言基础编程题文档格式.docx
- 文档编号:16039906
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:20
- 大小:45.78KB
C语言基础编程题文档格式.docx
《C语言基础编程题文档格式.docx》由会员分享,可在线阅读,更多相关《C语言基础编程题文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
}
printf("
result=%d\n"
sum);
return0;
}
5-2
近似求PI
本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。
\frac{\pi}{2}=1+\frac{1!
}{3}+\frac{2!
}{3\times5}+\frac{3!
}{3\times5\times7}+\cdots+\frac{i!
}{3\times5\times\cdots\times(2\timesi+1)}+\cdots2π=1+31!
+3×
52!
5×
73!
+⋯+3×
⋯×
(2×
i+1)i!
+⋯
输入格式:
输入在一行中给出精度eps,可以使用以下语句来读输入:
scanf("
%le"
&
eps);
输出格式:
在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位):
PI=近似值
输入样例:
1E-5
输出样例:
PI=
{
doublea=1,b=3,i=1,j=3;
doubleeps,m=1,sum=0;
while(m>
eps)
m=a/b;
sum=sum+m;
i=i+1;
j=j+2;
a=a*i;
b=b*j;
PI=%.5lf\n"
2+2*sum);
5-3
判断素数
输入一个正整数m,如果它是素数,输出"
YES"
,否则,输出"
NO"
(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
在一行中输入一个正整数m。
对每一组输入,在一行中输出结果并换行。
17
YES
inti,j,n;
j=sqrt(n);
for(i=2;
=j;
if(n%i==0)break;
if(i>
=j&
&
n!
=1)
printf("
YES\n"
);
else
NO\n"
return0;
5-4
出生年
以上是新浪微博中一奇葩贴:
“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。
”也就是说,直到2013年才达到“4个数字都不相同”的要求。
本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。
输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1,3000]之间,n可以是2、或3、或4。
注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。
根据输入,输出x和能达到要求的年份。
数字间以1个空格分隔,行首尾不得有多余空格。
年份要按4位输出。
注意:
所谓“n个数字都不相同”是指不同的数字正好是n个。
如“2013”被视为满足“4位数字都不同”的条件,但不被视为满足2位或3位数字不同的条件。
输入样例1:
19884
输出样例1:
252013
输入样例2:
12
输出样例2:
00001
inty,n,a,b,c,d,f[10],l=0;
%d%d"
y,&
for(inti=y;
10000;
a=i/1000;
b=i/100%10;
c=i%100/10;
d=i%10;
memset(f,0,sizeof(f));
f[a]=1;
if(f[b]!
f[b]=1;
if(f[c]!
f[c]=1;
if(f[d]!
f[d]=1;
intsum=0;
for(intj=0;
j<
10;
j++)
sum=sum+f[j];
if(sum==n&
l==0)
%d%04d\n"
i-y,i);
l++;
5-5
计算函数P(n,x)
(10分)
输入一个正整数repeat(0<
repeat<
10),做repeat次下列运算:
输入一个整数n(n>
=0)和一个双精度浮点数x,输出函数p(n,x)的值(保留2位小数)。
1(n=0)
x(n=1)
((2n-1)p(n-1,x)-(n-1)*p(n-2,x))/n(n>
1)
例:
括号内是说明
3(repeat=3)
0(n=0,x=
1(n=1,x=
10(n=10,x=
p(0,=
p(1,=
p(10,=
时间限制:
400ms
内存限制:
64MB
代码长度限制:
16kB
判题程序:
系统默认
作者:
王秀
单位:
福州大学
体顶端
题目判定
解题程序
窗体底端
doublep(intn,doublex);
intrepeat,ri,n;
doublex,result;
repeat);
for(ri=1;
ri<
=repeat;
ri++)
%d%lf"
n,&
x);
result=p(n,x);
p(%d,%.2lf)=%.2lf\n"
n,x,result);
doublep(intn,doublex)
doublet;
if(n==0)
t=1;
elseif(n==1)
t=x;
t=((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n;
returnt;
5-6
在数组中查找指定元素
输入一个正整数n(1<
n<
=10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,如果找到则输出相应元素的最小下标,否则输出"
Notfound"
。
要求定义并调用函数search(list,n,x),它的功能是在数组list中查找元素x,若找到则返回相应元素的最小下标,否则返回-1,函数形参list的类型是整型指针,形参n和x的类型是int,函数的类型是int。
输出格式语句:
index=%d\n"
);
输入输出示例:
括号内为说明,无需输入输出
2(repeat=2)
3(n=3)
12-6
2(x=2)
5(n=5)
12254
0(x=0)
index=1
Notfound
窗体顶端
intsearch(intlist[],intn,intx);
intn,i,a[10],res,x,repeat,index,ri;
for(ri=1;
scanf("
for(i=0;
n;
a[i]);
res=search(a,n,x);
if(res!
=-1)
printf("
res);
else
Notfound\n"
intsearch(intlist[],intn,intx)
inti,q=-1;
for(i=0;
if(list[i]==x)
{
returni;
}
returnq;
5-7
使用函数的选择法排序
输入一个正整数repeat(0<
10),做repeat次下列运算:
=10),再输入n个整数存入数组a中,用选择法将数组a中的元素按升序排列,最后输出排序后的数组元素。
要求定义并调用函数sort(a,n),它的功能是采用选择排序算法,将数组a的前n个元素按从小到大的顺序排序,函数形参a的类型是整型指针,形参n的类型是int,函数的类型是void。
数据直接以空格分隔,最后的一个数据后面没有空格。
3(repeat=3)
4(n=4)
5176
3(n=3)
123
5(n=5)
54321
Aftersorted:
1567
123
12345
#include<
#defineMAXN10
voidsort(inta[],intn);
inti,n,x,j;
inta[MAXN];
for(j=0;
x;
for(i=0;
i<
i++)
sort(a,n);
"
for(i=0;
n-1;
%d"
a[i]);
a[i]);
\n"
voidsort(inta[],intn)
inti,x,j,temp;
x=i;
for(j=i+1;
if(a[j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 编程