北京自考高级语言程序设计上机题及参考命案Word文档格式.docx

上传人:b****5 文档编号:18838046 上传时间:2023-01-01 格式:DOCX 页数:13 大小:21.80KB
下载 相关 举报
北京自考高级语言程序设计上机题及参考命案Word文档格式.docx_第1页
第1页 / 共13页
北京自考高级语言程序设计上机题及参考命案Word文档格式.docx_第2页
第2页 / 共13页
北京自考高级语言程序设计上机题及参考命案Word文档格式.docx_第3页
第3页 / 共13页
北京自考高级语言程序设计上机题及参考命案Word文档格式.docx_第4页
第4页 / 共13页
北京自考高级语言程序设计上机题及参考命案Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

北京自考高级语言程序设计上机题及参考命案Word文档格式.docx

《北京自考高级语言程序设计上机题及参考命案Word文档格式.docx》由会员分享,可在线阅读,更多相关《北京自考高级语言程序设计上机题及参考命案Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

北京自考高级语言程序设计上机题及参考命案Word文档格式.docx

9'

A'

B'

C'

D'

E'

F'

G'

};

scanf("

%ld"

&

n);

while(n!

=0)

{b[i++]=a[n%17];

n/=17;

}

printf("

Theresultis:

"

);

for(--i;

i>

=0;

i--)

printf("

%c"

b[i]);

}

2.输入两个整数,输出两个数绝对值的最大公约数。

math.h"

voidmain()

{inta,b,i,t;

scanf("

%d%d"

a,&

b);

a=abs(a);

b=abs(b);

if(a>

b){t=a;

a=b;

b=t;

for(i=a;

0;

if(a%i==0&

&

b%i==0){printf("

%d"

i);

break;

}

双号题

3.编一C程序,它能依次读四个15进制数(用字符串表示每个字符串占一行,用A、B、C、D、E依次表示10、11、12、13、14),输出这四个数的值(按十进制输出,每个占一行)。

如输入为3B,输出为56。

参考答案之一:

main()

{chara[4][20];

inti,j;

longb[4]={0};

for(i=0;

i<

4;

i++)

gets(a[i]);

for(j=0;

a[i][j]!

='

\0'

;

j++)

{if(a[i][j]=='

||a[i][j]=='

||a[i][j]=='

b[i]=b[i]*15+a[i][j]-'

elseb[i]=b[i]*15+a[i][j]-'

\n"

%s(15)=%ld(10)\n"

a[i],b[i]);

4.编一C程序,它能依次读三组d1,r1;

d2,r2;

d3,r3共18个非负整数(其中0<

=r1<

d1,0<

=r2<

d2,0<

=r3<

d3)对每组6个非负整数依次判断是否有正整数n,满足n%d1=r1且n%d2=r2且n%d3=r3,若有则输出其中的最小者,否则输出no.(输入整数时,相邻两个用空格隔开)

{inta[3][6],d[15],t,i,j,k,m=0,min,flag;

/*输入数据*/

3;

j<

6;

%d"

a[i][j]);

/*冒泡法排序*/

for(k=0;

k<

k++)

5;

for(j=5;

j>

i;

j--)

if(a[k][j]<

a[k][j-1]){t=a[k][j];

a[k][j]=a[k][j-1];

a[k][j-1]=t;

{flag=0;

for(k=1;

{for(t=0;

t<

k;

t++)

{if(a[i][j]%a[0][k]==a[0][t]){flag++;

}}

if(flag==1)break;

if(flag==1)

{if(a[i][j]%a[1][k]==a[1][t]){flag++;

if(flag==2)break;

if(flag==2)

{if(a[i][j]%a[2][k]==a[2][t]){flag++;

if(flag==3)break;

if(flag==3)d[m++]=a[i][j];

\nThenumberswhicharematchedconditionare:

"

for(m=0;

d[m]!

m++)

d[m]);

if(d[0]==0)printf("

no!

else

{min=d[0];

for(m=1;

if(min>

d[m])min=d[m];

\nTheminofnumberwhichismatchedconditionis:

min);

}

《高级语言程序设计》北大上机试题总汇

C语言上机试题:

1

5.题目:

编一C程序,它能读入一个正整数n(n<

20),再逐行读入一个n*n的矩阵的元素(矩阵元素为整数,输入时相邻的整数用空格隔开),找出这个矩阵的最大的元素,再输出该元素的行号和列号(行号和列号均从1开始)。

(注:

程序命名为e1_1.exe)

程序设计:

main()

{intn,i,j,a[20][20],max,max_i,max_j;

Pleaseintern="

Pleaseintera[][]:

for(i=0;

N;

I++)

for(j=0;

J++)

a[j]);

max=a[0][0],max_i=0,max_j=0;

if(max<

A[I][J])

{max=a[j];

max_i=i;

max_j=j;

max_i=%d,max_j=%d\n"

max_i+1,max_j+1);

6.题目:

设y(n)=1n<

=1时

y(n)=-y(n-2)+2*y(n-1)n>

1时

编一C程序,它能对读入的任意n(n>

=0且n<

50),能计算并输出y(n)的值。

程序命名为e1_2.exe)

inty(n)

intn;

{if(n<

=1)return

(1);

elsereturn(-y(n-2)+2*y(n-1));

{intn;

y(%d)=%d\n"

n,y(n));

7.题目:

编一C程序,它能读入一个字符串(串长<

100,串中可能有空格符),计算并输出该字符串中十进制数字的个数。

程序命名为e1_3.exe)

string.h"

{chara[100];

inti,l,num=0;

Pleaseinterastring:

gets(a);

l=strlen(a);

l;

i++)

if(a>

a<

num++;

Numberis%d\n"

num);

8.题目:

编一C程序,它能读入一正整数n,(n<

10),并输出如下图形:

(可执行文件名为e2_1.exe)

{staticinta[20][20];

intn,i,j,k;

n;

{k=1;

2*n-1;

j++)

{if(j>

n-i-2)a[j]=i+1;

if(k<

=2*i+1+n-i-2)k++;

elsebreak;

{if(a[j]==0)a[j]='

'

elsea[j]+=48;

{printf("

a[j]);

for(i=n-2;

i--)

9.题目:

编一C程序,它能读入矩阵A的行数L,列数M,矩阵B的列数N,矩阵B的行数是M。

L,M,N值都小于20),以及按行读入矩阵A的L*M个元素(整数)及矩阵B的M*N个元素(整数),计算并输出A与B的矩阵乘积(按行,列输出)。

(输入时,相邻的两个整数用空格隔开)。

(可执行文件名为e2_2.exe)

{inta[20][20],b[20][20],c[20][20],l,m,n,i,j,k;

Pleaseintera[l][m]andb[m][n]ofl,m,n:

%d,%d,%d"

l,&

m,&

Pleaseintera[l][m]:

m;

Pleaseinterb[m][n]:

b[j]);

{c[j]=0;

for(k=0;

k++)

c[j]+=a[k]*b[k][j];

c[l][n]=a[l][m]*b[m][n]:

%-5d"

c[j]);

10.题目:

编一C程序,它能读入n(n<

200)个整数(以-9999为结束标记,-9999不算在内,相邻的两个整数用空格隔开),找出第1到第n-1个数中第一个与第n个数相等的那个数,并输出该数读入时的序号(序号从1开始记)。

(可执行文件名为e2_3.exe)

{inta[200],n,i;

a[0]);

if(a[0]!

=-9999)

{for(i=1,n=0;

a[i-1]!

=-9999;

i++,n++)

a);

%d,%d\n"

n,a[n-1]);

if(a==a[n-1])

%d\n"

i+1);

3

11.题目:

编一C程序,它能读入一正整数n(n<

40),并输出如下图形:

共n行,每行n个A,下一行比上一行右移一列.(注:

可执行文件名为e3_1.exe)

{intn,i,j,k;

charch='

space='

{for(j=0;

j++)printf("

space);

k++)printf("

ch);

12.题目:

编一C程序,它能读入一个正整数,并输出该正整数的17进制形式,依次用A、B、C、D、E、F、G表示10、11、12、13、14、15、16。

可执行文件名为e3_2.exe)

{charb[18]={"

0123456789ABCDEFG"

intc[64],d,i=0,base=17;

longn;

Pleaseentern="

do

{c=n%base;

i++;

n=n/base;

while(n!

=0);

Transmitenewbase=17:

for(--i;

--i)

{d=c;

b[d]);

\n'

13.题目:

编一C程序,它能读入两个整数m与n,计算并输出m与n的绝对值的最大公约数及最小公倍数。

可执行文件名为e3_3.exe)

{intm,n,d,r;

Pleaseentermandn:

if(m<

0)m=-m;

if(n<

0)n=-n;

n)

{r=m;

m=n;

n=r;

d=m;

while(d%n!

=0)

d+=m;

d);

do{r=m%n;

if(r!

{m=n;

while(r!

n);

 

4

14.题目:

编一C程序,它能读入一个13进制数(用字符串表示,用A、B、C分别表示10、11和12),输出该数的值(按十进制数输出)。

如输入为3B时,输出为50。

可执行文件名为e4_1.exe)

{chara[40];

intn=0,i=0,j,k,s=0;

Pleaseentera13basenumber:

%s"

a);

while(a[i++]!

)n++;

for(i=n-1;

{if((a>

)&

(a<

))k=a-'

elseif((a>

))k=a-55;

elseprintf("

error!

for(j=1;

n-i;

j++)k*=13;

s+=k;

To10basenumberis:

s);

15.题目:

编一C程序,它能依次读入三组d1、r1、d2、r2、d3、r3共18个非负整数(其中0<

d1,0<

d2,0<

d3),对每组6个非负整数依次判断是否有正整数n,满足n%d1=r1且n%d2=r2且n%d3=r3,若有,则输出其中最小者;

否则,输出No。

(输入整数时,相邻的两个用空格隔开)。

可执行文件名为e4_2.exe)

{intl,i,n,d1,r1,d2,r2,d3,r3;

=2;

{l=1;

n=1;

Pleaseenterd1>

=r1>

=0,d2>

=r2>

=0,d3>

=r3>

=0:

%d%d%d%d%d%d"

d1,&

r1,&

d2,&

r2,&

d3,&

r3);

while((l!

=0)&

(n<

=d1*d2*d3))

{if((n%d1==r1)&

(n%d2==r2)&

(n%d3==r3))

l=0;

elsen++;

if(l!

=0)printf("

16.题目:

编一C程序,它能读如若干浮点数f1、f2、...fn(以-9999.0为结束标记,-9999.0不算在内)并输出在f2、f3、...fn这n-1个数中大于f1的数的个数、等于f1的数的个数和小于f1的数的个数。

可执行文件名为e4_3.exe)

{floatf[100],f1;

intn=0,i,i1=0,i2=0,i3=0;

Pleaseenterfloat:

%f"

f1);

f[0]=f1;

while(abs(f[n]+9999.0)>

=1e-4)

f[++n]);

for(i=1;

=n-1;

if(f>

f1)i1++;

elseif(abs(f-f1)<

1e-4)i2++;

elsei3++;

>

f1:

i1);

=f1:

i2);

<

i3);

5

17.题目:

编一C程序,它能读入若干个非零浮点数(相邻的两个数用空格隔开,以0.0为输入结束标记,0.0不算在内),计算并输出这些数的平均值。

可执行文件名为e5_1.exe)

{floatf,s=0.0;

intn=0;

Pleaseenterfloatnumber:

f);

if(fabs(f-0.0)<

1e-4)

Nonumber!

elsewhile(fabs(f-0.0)>

{n++;

s+=f;

if(n!

%dnumberofaverageis:

%f\n"

n,s/n);

18.题目:

编一C程序,它能反复读入正整数(相邻的用空格隔开),并判断它是否为素数(质数),若是,则输出"

yes"

,否则,输出"

no"

,直到读入1时,程序终止执行。

可执行文件名为e5_2.exe)

{intn,m,f;

Pleaseenteranumber:

=1)

{f=1;

if(n==2)

%dyes\n"

elsefor(m=2;

m<

m++)

if(n%m==0)

%dno\n"

f=0;

=2&

f==1)

19.题目:

编一C程序,它能读入21个整数(相邻的两个数用空格隔开),并输出值为中间的整数的值(即恰有10个值小于它,恰有10个值大于它)。

可执行文件名为e5_3.exe)

{inta[21],i,j,k,t;

Pleaseenter21numbers:

21;

for(k=1;

k++)(排序的算法)

for(j=20,i=0;

21-k;

i++,j--)

if(a[j]<

a[j-1])

{t=a[j];

a[j]=a[j-1];

a[j-1]=t;

Thecenternumberis%d

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1