C语言 第一组习题和答案_第1页
C语言 第一组习题和答案_第2页
C语言 第一组习题和答案_第3页
C语言 第一组习题和答案_第4页
C语言 第一组习题和答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-1-C语言第一组习题和答案题目如下:一、编程题(每题20分,共40分)1、编写程序。定义数组sco存放30名学生的成绩。将成绩由高到低排序,并输出排序结果和所有高于平均分数的成绩(结果保留两位小数)。2、编写程序。先编写一个子函数求x,再通过主函数调用该子函数,对输入的一个数y,求y并输出。二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)1、程序用于求两个数的和与差。#include<stdio.h">intfun(inta,intb,int*psub){intsum;sum=a+b;_____①_____=a-b;returnsum;}voidmain(){intx,y,s1,s2;scanf(“%d%d”,_____②_____);s1=fun(x,y,_____③_____);printf(“sum=%d\nsub=%d\n”,_____④_____);}2、对于5×5的方阵,输出其下三角的元素。1234512345623345673454567845675678956789#include<stdio.h>voidmain(){int_____①_____,i,j;for(i=0;i<5;i++)for(j=0;j<5;j++) a[i][j]=_____②_____; for(i=0;i<5;i++){for(j=0;_____③_____;j++)printf("%4d",a[i][j]);_____④_____;}}3、输出所有的水仙花数。所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如153是一水仙花数,因为153=13+53+33#include<stdio.h>voidmain(){intn,i,j,k;for(n=100;n<=_____①_____;n++){i=n/100;//取出n的百位数j=_____②_____;//取出n的十位数k=_____③_____;//取出n的个位数if(n==_____④_____)printf("%d\n",n);}}三、写出程序的执行结果(每题4分,共12分)1、#include<stdio.h>voidmain(){inti,j;for(i=1;i<5;i++){for(j=1;j<=12-i;j++)printf(““);for(j=1;j<=i;j++)printf(“%4d”,i);printf(“\n”);}}2、#include<stdio.h>inta=5;voidfun(intb){inta=10;a+=b;printf("%d",a);}voidmain(){intc=20;fun(c);a+=c;printf("%d\n",a);}3、#include<stdio.h>voidsub(intx,inty,int*z){*z=x-y;}voidmain(){inta,b,c;sub(10,6,&c);sub(8,c,&b);sub(c,b,&a);printf(“%d%d%d\n”,a,b,c);}考试科目:答题:第(1)组答案:一、编程题1、#include

<stdio.h>

#include

<stdlib.h>

#include

<time.h>

#include

<math.h>

int

main()

{

//

insert

code

here...

int

n

=

100;

int

m

=

0;int

temp;

int

sco[30];

srand((unsigned)time(0));

for

(int

i

=

0

;

i

<

30

;

i++)

{

sco[i]

=

rand()%(n-m+1)+m;

}

for

(int

i

=

0;

i

<

30;

i++)

{

for

(int

j

=

0;

j

<

i;

j++)

{

if

(sco[j]

<

sco[i])

{

temp

=

sco[j];

sco[j]

=

sco[i];

sco[i]

=

temp;

}

}

}

//

输出排序结果

printf("输出排序结果:\n");

for

(int

i

=

0;

i

<

30;

i

++

)

{

printf("%.2f\n",(float)sco[i]);

}

float

sum

=

0;

for

(int

i

=

0;

i

<

30;

i

++

)

{

sum

=

sum

+

sco[i];

}

//求出平均值

float

average

=

sum/30;

printf("sum

=

%.2f,

average

=

%.2f\n",sum,average);

int

newSco[30];

int

count

=

0;

for

(int

i

=

0;

i

<

30;

i

++

)

{

if

(sco[i]

>

average)

{

newSco[count]

=

sco[i];

count++;

}

}

printf("所有高于平均分数的成绩:\n");

for

(int

i=

0;

i

<

count;

i

++)

{

printf("%.2f\n",(float)newSco[i]);

}

return

0;

}2、#include<stdio.h>intcompute(inta,intb){intresult=1;for(inti=0;i<b;i++){result=result*a;}returnresult;}intmain(){inta;printf("请输入一个数,求其5次方:\n");scanf("%d",&a);printf("%d^5=%d\n",a,compute(a,5));return0;}程序填空①*psub②&x,&y③&s2④s1,s2①a[5][5]②j+i+1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论