程序题(解答) HNCE网上考试系统答案

更新时间:2024-04-17 06:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

四、编程题(共36分) 以下各题要求:

A: 必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计! B: 请将你解答本题所写的源程序粘贴到下面或者上载源程序

1、 随机产生10个数存入一维数组a中,求这10数中的最小数并输出。

#include #include main()

{int a[10],i,min; for(i=0;i<10;i++) scanf(“%d”,&a[i]); min=a[0];

for(i=1;i<10;i++) if(min>a[i])min=a[i]; printf(\}

2、随机产生10个数存入一维数组a中,求这10数中的最大数并输出。

#include #include main()

{int a[10],i,max; for(i=0;i<10;i++) scanf(“%d”,&a[i]); max=a[0];

for(i=1;i<10;i++) if(max

3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

#include void main() { char line[30];

int i,count1=0,count2=0,count3=0,count4=0; printf(\请输入一行字符: \ gets(line); i=0; while(line[i]!='\\0')

{if(((line[i]>=97) && (line[i]<=122))||((line[i]>=65) && (line[i]<=90))) {count1++; }

else if(line[i]==' ') {count2++; }

else if(line[i]>='0' && line[i]<='9') {count3++; } else count4++; i++; }

printf(\其中的英文字母个数为 %d\\n\printf(\其中的空格个数为 %d\\n\

printf(\其中的数字个数为 %d\\n\printf(\其中的其他字符个数为 %d\\n\}

4、编写程序,输出下列三角形: 1

12 3 1 2 3 4 5 1 2 3 4 5 6 7

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=4-i;j++)printf(\

for(k=1;k<=2*i-1;k++)printf(\printf(\} }

5、编写程序,输出下列三角形: 1 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4

#include main() {inti,j,k; for(i=1;i<=4;i++)

{for(j=1;j<=4-i;j++)printf(\for(k=1;k<=2*i-1;k++)printf(\printf(\ }

6、编写程序,输出下列三角形: 1 2 3 4 5 6 7 1 2 3 4 5 1 2 3 1

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=4-i;j++) printf(\

for(k=1;k<=9-2*i;k++) printf(\printf(\} }

7、请编写一个函数fun,它的功能是:计算n门课程的最高分,计算结果作为函数值返回。 例如:若有5门课程的成绩是:90,92,80,61,55,则函数的值为92。

注意:部分源程序给出如下。请在函数fun的花括号中填入所编写的若干语句。 double fun(int a[],int n) { }

void main() {

int c[5],i;double aver;

cout<<\请输入5门课成绩:\for(i=0;i<5;i++) cin>>c[i]; aver=fun(c,5);

cout<<\所输入的所有成绩的最高分为:\cout<

程序如下:

#include

double fun(inta[ ],int n) {inti,max = a[0]; for(i=1;i

if(max < a[i]) max = a[i]; return max; }

void main() {

int c[5],i;double aver; for(i=0;i<5;i++) scanf(\aver=fun(c,5);

printf(\}

8、请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

例如,当a=45,b=12,调用该函数后,c=4251。 函数fun原型:int fun(inta,int b);

注意:部分源程序给出如下。请在函数fun的花括号中填入所编写的若干语句。 int fun(inta,int b) { }

void main() { int c;

c=fun(45,12);

printf(\ }

程序如下:

#include int fun(inta,int b) {intx,y,m,n; x=a/10; y=a; m=b/10; n=b;

return x*1000+n*100+y*10+m; }

void main() {int c;

c=fun(45,12);

printf(\}

9、请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

例如,当a=45,b=12,调用该函数后,c=1524。 函数fun原型:int fun(inta,int b);

注意:部分源程序给出如下。请在函数fun的花括号中填入所编写的若干语句。 int fun(inta,int b) { }

void main() { int c;

c=fun(45,12);

printf(\ }

程序如下:

#include int fun(inta,int b) {intx,y,m,n; x=a/10; y=a; m=b/10;

n=b;

return m*1000+y*100+n*10+x; }

void main() {int c;

c=fun(45,12);

printf(\}

10、求一个3×3矩阵对角线元素之和(元素为1~100的随机整数)。 #include #include void main()

{int x[3][3]={0},sum; int a=0,b=0; inti,j;

for(i=0;i<3;i++) for(j=0;j<3;j++)

scanf(\for(i=0;i<3;i++) for(j=0;j<3;j++) {if(i==j) b=b+x[i][j]; if(i+j==2) a=a+x[i][j]; }

printf(\}

11、编程实现用选择法对10个随机整数排序。

#include #include void main()

{ int a[10],i,j,t,k; for(i=0;i<10;i++) a[i]=rand();

for(i=0;i<10-1;i++) {for(k=i,j=i+1;j<10;j++) if(a[k]

{ t=a[i];a[i]=a[k];a[k]=t;} }

for(i=0;i<10;i++) printf(\}

12、输出一个3×5矩阵每行的平均值(元素为1~100的随机整数)。

#include

#include

main()

{inti,j,a[3][5],sum; for(i=0;i<3;i++) { printf(\for (j=0;j<5;j++)

{a[i][j]=1+rand()0; printf(\}

for(i=0;i<3;i++) {sum=0;

for (j=0;j<5;j++) {sum=sum+a[i][j];}

printf(\} }

13、求s=1!+3!+5!…+19!的值,并将s输出。

#include void main() { inti,j; double t;

double sum=0.0; for(i=1;i<20;i+=2) {t=1.0;

for(j=1;j<=i;j++) t=t*j;

printf(\sum=sum+t; }

printf(\printf(\}

14、编写程序,输出100~500之间的所有素数,每行输出5个。

#include void main()

{ inti,j,min=100,max=500,temp=0; for(i=min;i<=max;i++) { for(j=2;j<=i/2+1;j++) if(i%j==0)break; if (j > i/2+1) {temp++; printf(\printf(\if(temp==5)

{temp=0;printf(\

} }

15、编写程序,输出下列三角形: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=i-1;j++)printf(\

for(k=1;k<=9-2*i;k++)printf(\printf(\} }

16.编写程序,输出下列三角形:

1

111 11111 1111111

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=5-i;j++)printf(\

for(k=1;k<=2*i-1;k++)printf(\printf(\} }

17、请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。 例如:若有5门课程的成绩是:90,72,80,61,55,则函数的值为71.6。 注意:部分源程序给出如下。请在函数fun的花括号中填入所编写的若干语句。 double fun(int a[],int n) { }

void main() {

int c[5],i;double aver;

cout<<\请输入5门课成绩:\for(i=0;i<5;i++) cin>>c[i]; aver=fun(c,5);

cout<<\所输入的所有成绩的平均分为:\cout<

#include

double fun(inta[ ],int n) {inti,sum=0;

for(i=0;i

void main() {int a[5],i,n=4; for(i=0;i<=4;i++) scanf(\for(i=0;i

18、有一个已排好序的数组,输入一个数,要求按照顺序将它插入到数组中。

#include main()

{inti,s,n,a[11]={68,60,53,49,42,37,35,26,14,3 }; printf(\scanf(\for(i=0;i<10;i++) if(n>a[i])

{for(s=9;s>=i;s++) a[s+1]=a[s]; break; }

a[i]=n;

for(i=0;i<=10;i++) printf(\printf(\}

19、求s=1!+2!+……+10!的值,并将s输出。

#include intjiecheng(inti) {

int sum=1;

for(int j=1;j<=i;j++) {sum*=j; } return sum;

}

int main() { inti;

longlong sum=0; for(i=1;i<=10;i++) {

sum+=jiecheng(i); }

printf(\return 0; }

20、有一头母牛,它每年年初生一头小母牛,每头小母牛从第四个年头起,每年年初也生一头小母牛,编写程序,求第20年时,共有多少头牛。

#include int main(void) {

int age[4] = {1};

int count = 1, i, temp, year; scanf(\ for(i = 0; i <= year; i++) {

temp = age[3]; age[3] += age[2]; age[2] = age[1]; age[1] = age[0]; age[0] = age[3]; count += age[3]; }

printf(\ return 0; }

21、编写程序,输出下列三角形: 4 4 4 4 4 4 4 3 3 3 3 3 2 2 2 1

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=i-1;j++)printf(\

for(k=1;k<=9-2*i;k++)printf(\printf(\

} }

22、编写程序,随机生成10个1~100之间的整数,输出其中的最大数和最小数。

#include #include main()

{int a[10],i,max,min; for(i=0;i<10;i++) a[i]=1+rand()0; for(i=0;i<10;i++) printf(\printf(\

max=a[0];min=a[0]; for(i=1;i<9;i++) {

if(maxa[i+1])min=a[i+1];} printf(\}

23、求出100至1000之内能同时被2、3、7整除的整数,并输出。

#include void main() { int i;

int sum = 0;

for (i = 100; i <= 1000; i++)

{ if (i%2==0 && i%3==0 && i%7==0) { printf(\}

printf(\和为:%d\\n\}

24、从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+…(共n项)的和。例a=2,n=4,则sum=2+22+222+2222.

#include main()

{inta,n,i=0,t=0; double s=0;

scanf(\while(i

printf(\}

25、输出如下图形:

******* ***** *** *

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=i-1;j++)printf(\for(k=1;k<=9-2*i;k++)printf(\printf(\} }

26、输出如下图形:

***** ***** ***** *****

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=5;j++)printf(\printf(\} }

27、输出如下图形:

* *** ***** ******* ***** *** *

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=4-i;j++)printf(\for(k=1;k<=2*i-1;k++)printf(\printf(\}

for(i=1;i<=3;i++)

{

for(j=1;j<=i;j++)printf(\

for(k=1;k<=7-2*i;k++)printf(\printf(\} }

28、编写程序,输出下列三角形:

1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 4

#include main() {inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=i-1;j++) printf(\

for(k=1;k<=9-2*i;k++) printf(\printf(\} }

29、编写程序,计算并输出下面级数前n项中(n=50)偶数项的和。 1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…

30、编写程序,计算并输出下面级数前n项(n=20)的和。 1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…

31、编写程序,计算并输出下面级数前n项(n=30)的部分和。 1/(1*2)+1/(2*3)+1/(3*4)+…+1/(n*(n+1))+ ……

32、编写程序,计算并输出下面级数前n项(n=50)中奇数项的和。 1*2+2*3+3*4+4*5+……+n*(n+1)+…

33、编写程序,计算下面级数前n项中(n=50)偶数项的和,并输 出该级数最后两项之差的绝对值。

1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…

34、编写程序,计算下面级数前n项(n=20)的和,并输出 该级数最后两项之差的绝对值。

1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…

本文来源:https://www.bwwdw.com/article/qump.html

Top