《程序设计与问题求解》模拟题程序设计题Word文件下载.docx
- 文档编号:16403537
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:13
- 大小:23.67KB
《程序设计与问题求解》模拟题程序设计题Word文件下载.docx
《《程序设计与问题求解》模拟题程序设计题Word文件下载.docx》由会员分享,可在线阅读,更多相关《《程序设计与问题求解》模拟题程序设计题Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
,&
a[i]);
for(j=1;
j<
j++)
for(i=1;
=N-j;
if(a[N-i+1]>
a[N-i])
{a[0]=a[N-i+1];
a[N-i+1]=a[N-i];
a[N-i]=a[0];
}
\n输出排好的数:
\n"
);
printf("
%d"
a[i]);
3.编程计算如下表达式的值
,其中的n在程序运行时由用户通过键盘输入。
inti,n;
doubles;
s=0;
\n请输入所要计算次数n的值:
scanf("
n);
=n;
s=s+1.0/(2*i-1);
s=%f\n"
s);
4.编程计算如下表达式的值
math.h>
s=s+1.0/(2.0*i-1)*pow(-1,i+1);
圆周率=%f\n"
s*4);
5、编程输出如下格式图形,其中的行数由用户在程序运行时输入。
*
***
*****
*******
inti,j,n;
\n请输入要现实的行数:
{
for(j=1;
=(2*(i-1)+1);
printf("
*"
}
6、编程输入一个整数,若不是四位正整数则给出一个出错提示;
否则要求正确分离出其个、十、百、千位并分别输出,如输入的是1234,则输出应该为4321
longx,ge,shi,bai,qian;
请输入一个四位数:
x);
if((9999<
x)||(x<
1000))
\n错误,输入的不是四位数"
ge=x%10;
shi=(x/10)%10;
bai=(x/100)%10;
qian=x/1000;
%d%d%d%d\n"
ge,shi,bai,qian);
7、编程将1...100间能被2、3、5整除的数的和求出来并输出。
注意,在判断时如果一个数能同时被多个数整除,则要算到多种情况里去。
如6既能被2整除,又能被3整除,则要同时算到能被2整除和能被3整除这两种情况里。
intcount=0,i,s=0;
=1000;
if((i%2==0)&
&
(i%3==0)&
(i%5==0))
%8d"
i);
s=s+i;
count++;
\n总个数为:
%d,总和为:
count,s);
8、从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:
第1个元素与第6个元素互换,第2个元素与第7个元素互换……第5个元素与第10个元素互换。
分别输出数组原来各元素的值和对换后各元素的值。
#defineN20
inta[N],r;
for(r=1;
r<
r++)
\n输入第%d个数:
r);
a[r]);
a[0]=a[r+1];
a[r+1]=a[N-r];
a[N-r]=a[0];
\n输入排好的数:
a[r]);
9、计算如下表达式的值并输出:
M!
+N!
+(M-N)!
+(M+N)!
,期中的M和N为不小于0且不大于5的整数,具体的值在程序运行时通过键盘输入。
#include<
intjiecheng(intx)
inti,s;
=x;
s*=i;
return(s);
intm,n,s1,s2,s3;
输入M及N的数值(M>
N)"
%d%d"
m,&
s1=jiecheng(m);
s2=jiecheng(n);
s3=jiecheng(m-n);
结果为:
s1+s2+s3);
10、编程输出如下格式图形,其中的行数由用户在程序运行时输入。
**
****
=i;
10.编程计算如下表达式的值:
1-3+5-.....-803
inti,s;
=803;
s=s+(int)pow(-1,i+1)*(2*i-1);
s=%d\n"
11、编程实现百分制向五分制的转换,即从键盘输入一个百分制成绩,按相应规则输出其对应的五分制成绩。
程序设计过程中要注意算法对错误输入的处理。
转换规则如下:
90及以上:
A 80--89:
B 70--79:
C 60--69:
D 60分以下:
E
{
chary;
floatx;
\n请输入百分制成绩:
%f"
if(x>
=90)y=’A’;
else
=80)y=’B’;
=70)y=’C’;
else
=60)y=’D’;
else
y=’E’;
你所输入的百分制成绩对应的五分制成绩为:
%c\n"
y);
12、输入三个数,按从小到大顺序输出。
inta,b,c,t;
\n请输入三个数:
%d%d%d"
a,&
b,&
c);
if(a<
b)
{t=a;
a=b;
b=t;
if(a<
c)
a=c;
c=t;
if(b<
{t=b;
b=c;
%d%d%d\n"
a,b,c);
13、百鸡问题:
用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。
问各能买多少只?
stdlib.h>
intcock,hen,chick,count=0;
for(cock=0;
cock<
=20;
cock++)
for(hen=0;
hen<
=33;
hen++)
{
chick=100-hen-cock;
if(15*cock+9*hen+chick==300)
{
printf("
公鸡:
%4d母鸡:
%4d小鸡:
%4d\n"
cock,hen,chick);
count++;
}
\n共计有%d种买法!
count);
system("
pause"
14、今年父亲30岁,儿子6岁,问多少年后父亲的年龄是儿子年龄的2倍?
intfather=30,son=6,year=0;
for(year=0;
year<
year++)
if(2*(son+year)==father+year)
\n父亲年龄:
%4d儿子年龄:
%4d经过时间:
%4d(年)!
father+year,son+year,year);
15.一个四位数,当它逆向排列时得到的4位数是它自身的整数倍,请找出所有符合这一条件的四位数。
16.找出所有符合下列条件的四位正整数:
这个数顺序跟逆序的值相同。
17.找出1—10000中符合下列条件的四位正整数:
18.某人年龄的三次方是四位数,四次方是六位数,请找出所有符合条件的年龄。
inti;
for(i=10;
if((pow(i,3)>
=1000)&
(pow(i,3)<
=9999)&
(pow(i,4)>
=100000)&
(pow(i,4)<
=999999))
19.有25本书,分成6份。
如果每份至少一本,且每份的本数都不相同,有多少种分法?
intn1,n2,n3,n4,n5,n6,s;
for(n1=1;
n1<
=25;
n1++)
for(n2=n1+1;
n2<
=25-n1;
n2++)
for(n3=n2+1;
n3<
=25-n1-n2;
n3++)
for(n4=n3+1;
n4<
=25-n1-n2-n3;
n4++)
for(n5=n4+1;
n5<
=25-n1-n2-n3-n4;
n5++)
{
n6=25-n1-n2-n3-n4-n5;
if(n6>
n5)
printf("
%6d%6d%6d%6d%6d%6d\n"
n1,n2,n3,n4,n5,n6);
}
system("
20、某处发生一起案件,侦察得知如下可靠线索:
ABCD四人都有作案可能
AB中至少一人参与作案
BC中至少一人参与作案
CD中至少一人参与作案
AC中至少一人未参与作案
请分析谁最有可能是案犯。
chara,b,c,d;
for(a=0;
a<
=1;
a++)
for(b=0;
b<
b++)
for(c=0;
c<
c++)
for(d=0;
d<
d++)
if((a+b>
=1)&
(b+c>
(c+d>
(a*c==0))
printf("
%d%d%d%d\n"
a,b,c,d);
21.找赛手:
2个羽毛球队比赛,各出3人,每个人只比一次。
甲队为A,B,C三人,乙队为X,Y,Z三人。
有人打听比赛名单,A说他不和X比,C说不和X,Z比。
请编程找出三队赛手的名单。
chara,b,c;
for(a='
x'
;
='
z'
for(b='
if(a!
=b)
for(c='
if((a!
)&
(c!
(a!
=c)&
(b!
=c))
a:
%cb:
%cc:
22.用递归及递推算法分别计算斐波那契前40项的值。
longfib(intn)
if(n==1)
return1;
if(n==2)
return2;
return(fib(n-1)+fib(n-2));
=40;
第%d项的值为%d\n"
i,fib(i));
23.用递归及递推算法分别编写计算n!
的值的程序。
递归:
longfactorial(intn)
if(n==0)
return(n*factorial(n-1));
=10;
i,factorial(i));
递推:
longp=1,s=0;
\n输入所要累加的项数:
p=p*i;
s=s+p;
总和=%8d\n"
24.汉诺塔(又称河内塔)问题是印度的一个古老的传说。
开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去。
庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒子作为帮助,但每次只能搬一个,而且大的不能放在小的上面。
后来,这个传说就演变为汉诺塔游戏:
①有三根杆子A,B,C。
A杆上有若干碟子;
②每次移动一块碟子,小的只能叠在大的上面;
③把所有碟子从A杆上全部移到C杆上。
编程输出完成若干碟子搬运的步骤。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计与问题求解 程序设计 问题 求解 模拟