青海大学题库c语言程序设计.docx

上传人:b****5 文档编号:5115076 上传时间:2022-12-13 格式:DOCX 页数:230 大小:57.15KB
下载 相关 举报
青海大学题库c语言程序设计.docx_第1页
第1页 / 共230页
青海大学题库c语言程序设计.docx_第2页
第2页 / 共230页
青海大学题库c语言程序设计.docx_第3页
第3页 / 共230页
青海大学题库c语言程序设计.docx_第4页
第4页 / 共230页
青海大学题库c语言程序设计.docx_第5页
第5页 / 共230页
点击查看更多>>
下载资源
资源描述

青海大学题库c语言程序设计.docx

《青海大学题库c语言程序设计.docx》由会员分享,可在线阅读,更多相关《青海大学题库c语言程序设计.docx(230页珍藏版)》请在冰豆网上搜索。

青海大学题库c语言程序设计.docx

青海大学题库c语言程序设计

试卷编号:

9478

所属语言:

C语言

试卷总分:

1260分

共有题型:

1种

一、程序设计共126题(共计1260分)

第1题(10.0分)题号:

507难度:

易第1章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

编写函数fun求一个字符串的长度,在main函数中

输入字符串,并输出其长度。

------------------------------------------------*/

#include

voidwwjt();

intfun(char*p1)

{

/**********Program**********/

/**********End**********/

}

main()

{

char*p,a[20];

intlen;

p=a;

printf("pleaseinputastring:

\n");

gets(p);

len=fun(p);

printf("Thestring'slengthis:

%d\n",len);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

char*pIN,sin[20];

intiOUT,i;

pIN=sin;

IN=fopen("3.IN","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("3.out","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(i=0;i<10;i++)

{

fscanf(IN,"%s",pIN);

iOUT=fun(pIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

----------------------

char*p;

intn=0;

p=p1;

while(*p++)

n++;

returnn;

----------------------

第2题(10.0分)题号:

386难度:

中第2章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

用函数求N个[10,60]上的整数中能被5整除的最大

的数,如存在则返回这个最大值,如果不存在则

返回0。

------------------------------------------------*/

#defineN30

#include"stdlib.h"

#include

voidwwjt();

intfind(intarr[],intn)

{

intm=0;

/**********Program**********/

/**********End**********/

return(m);

}

main()

{

inta[N],i,k;

for(i=0;i

a[i]=random(51)+10;

for(i=0;i

{

printf("%5d",a[i]);

if((i+1)%5==0)printf("\n");

}

k=find(a,N);

if(k==0)

printf("NOFOUND\n");

else

printf("themaxis:

%d\n",k);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intn;

inti[5];

into;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFILEError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFILEError");

}

for(n=0;n<5;n++)

{

fscanf(IN,"%d",&i[n]);

}

o=find(i,5);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

}

答案:

----------------------

inti;

for(i=0;i

if(arr[i]%5==0&&arr[i]>m)

m=arr[i];

----------------------

第3题(10.0分)题号:

321难度:

中第2章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

编写函数fun其功能是:

根据整型形参m,计算如下

公式的值:

y=1/2!

+1/4!

+…+1/m!

(m是偶数)

------------------------------------------------*/

#include

voidwwjt();

doublefun(intm)

{

/**********Program**********/

/**********End**********/

}

main()

{

intn;

printf("Entern:

");

scanf("%d",&n);

printf("\nTheresultis%1f\n",fun(n));

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intt;

doubleo;

intc;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFILEError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFILEError");

}

for(c=1;c<=5;c++)

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%f\n",o);

}

fclose(IN);

fclose(OUT);

}

答案:

doubley=0.0;

inti,j;

doubles=1;

for(i=2;i<=m;i+=2)

{

for(j=i-1;j<=i;j++)

s=s*j;

y=y+1.0/s;

}

returny;

第4题(10.0分)题号:

54难度:

易第1章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

求1到100之间的偶数之积。

------------------------------------------------*/

#include

voidwwjt();

doublefun(intm)

{

/**********Program**********/

/**********End**********/

}

main()

{

printf("ji=%f\n",fun(100));

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN,i;

doubledOUT;

IN=fopen("23.IN","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("23.out","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(i=0;i<10;i++)

{

fscanf(IN,"%d",&iIN);

dOUT=fun(iIN);

fprintf(OUT,"%f\n",dOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

----------------------

doubley=1;

inti;

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

if(i%2==0)y*=i;

returny;

----------------------

第5题(10.0分)题号:

62难度:

难第2章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

求5行5列矩阵的主、副对角线上元素之和。

注意,

两条对角线相交的元素只加一次。

例如:

主函数中给出的矩阵的两条对角线的和为45。

------------------------------------------------*/

#include

#defineM5

voidwwjt();

intfun(inta[M][M])

{

/**********Program**********/

/**********End**********/

}

main()

{

inta[M][M]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8},{1,3,4,5,6}};

inty;

y=fun(a);

printf("s=%d\n",y);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN[M][M],iOUT;

inti,j;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

{for(i=0;i

for(j=0;j

fscanf(IN,"%d",&iIN[i][j]);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

----------------------

ints=0;

inti,j;

for(i=0;i

s=s+a[i][i]+a[i][M-1-i];

s=s-a[(M-1)/2][(M-1)/2];

returns;

----------------------

第6题(10.0分)题号:

37难度:

较难第6章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

输入2个学生3门课的成绩,计算学生成绩平均分,

课程平均分和最高分.

例如:

输入2名学生3门课的成绩分别为92,87,68,56,

92,84则

学生1平均分:

82.33

学生2平均分:

77.33

课程1平均分:

74.00

课程2平均分:

89.50

课程3平均分:

76.00

最高分为:

92

------------------------------------------------*/

#include

voidwwjt();

/*定义全局变量*/

/*学生成绩平均分*/

floatStuAgv[2];

/*课程平均分*/

floatCouAgv[3];

/*所有学生的所有课程最高分*/

floatMax=0;

/*说明:

需要在下面函数中把题干要求中的结果赋值到上面定义一变量中*/

voidfun(floatscore[2][3])

{

/**********Program**********/

/**********End**********/

}

voidmain()

{

inti,j;

floatscore[2][3];

printf("输入学生的成绩:

");

for(i=0;i<2;i++)

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

scanf("%f",&score[i][j]);

printf("\n输出学生的成绩:

");

for(i=0;i<2;i++)

{

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

printf("%.2f",score[i][j]);

printf("\n");

}

fun(score);

for(i=0;i<2;i++)

printf("第%d个学生的平均成绩是:

%0.2f\n",i+1,StuAgv[i]);

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

printf("第%d门课的平均成绩是:

%0.2f\n",j+1,CouAgv[j]);

printf("所有分数中的最高分为:

%.2f\n",Max);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

floatiIN[2][3];

inti,j;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(i=0;i<2;i++)

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

fscanf(IN,"%f",&iIN[i][j]);

fun(iIN);

for(i=0;i<2;i++)

fprintf(OUT,"%.2f\n",StuAgv[i]);

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

fprintf(OUT,"%.2f\n",CouAgv[j]);

fprintf(OUT,"%.2f\n",Max);

fclose(IN);

fclose(OUT);

return;

}

答案:

inti,j;

floatsum;

for(i=0;i<2;i++)/*计算第i个学生平均分*/

{

sum=0;

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

sum=sum+score[i][j];

StuAgv[i]=sum/3;

}

for(j=0;j<3;j++)/*计算第j门课的平均分*/

{

sum=0;

for(i=0;i<2;i++)

sum=sum+score[i][j];

CouAgv[j]=sum/2;

}

Max=score[0][0];

for(i=0;i<2;i++)

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

if(Max<=score[i][j])

{

Max=score[i][j];

}

return;

第7题(10.0分)题号:

322难度:

中第2章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

判断一个整数w的各位数字平方之和能否被5整除,

可以被5整除则返回1,否则返回0。

------------------------------------------------*/

#include

#include"conio.h"

voidwwjt();

intfun(intw)

{

/**********Program**********/

/**********End**********/

}

main()

{

intm;

printf("Enterm:

");

scanf("%d",&m);

printf("\nTheresultis%d\n",fun(m));

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intc;

intt;

into;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFILEError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFILEError");

}for(c=1;c<=5;c++)

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%d\n",o);

}

fclose(IN);

fclose(OUT);

}

答案:

----------------------

intk,s=0;

do

{s=s+(w%10)*(w%10);

w=w/10;

}while(w!

=0);

if(s%5==0)k=1;

elsek=0;

return(k);

----------------------

第8题(10.0分)题号:

513难度:

中第95章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

编程序,输入两个字符串a,b(<40个字符),将两者连接后输出c(不能用strcat库函数)。

-------------------------------------------------------*/

#include

#include

voidmain()

{

/**********Program**********/

/**********End**********/

}

答案:

chara[40],b[40],c[80];

inti,j;

printf("分二行输入两个字符串:

\n");

gets(a);gets(b);

for(i=0;a[i]!

='\0';i++)c[i]=a[i];

for(j=0;b[j]!

='\0';j++)c[i+j]=b[j];

c[i+j]='\0';

puts(c);

第9题(10.0分)题号:

594难度:

中第1章

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向

一个M行N列的二维数组,求出二维数组每列中最大元素,并依次

放入pp所指的一维数组中。

二维数组中的数已在主函数中给出。

注意:

部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数

fun的花括号中填入所编写的若干语句。

试题程序:

-------------------------------------------------------*/

#include

#include

#include

#defineM3

#defineN4

voidfun(inttt[M][N],intpp[N])

{

inti,j,max;

/**********Program**********/

/**********End**********/

}

voidmain()

{

FILE*wf;

intt[M][N]={{68,32,54,12},{14,24,88,58},{42,22,44,56}};

intp[N],i,j,k;

system("CLS");

printf("Theriginaldatais:

\n");

for(i=0;i

{

for(j=0;j

printf("%6d",t[i][j]);

printf("\n");

}

fun(t,p);

printf("\nTheresultis:

\n");

for(k=0;k

printf("%4d",p[k]);

printf("\n");

wf=fopen("out.txt","w");

for(k=0;k

fprintf(wf,"%4d",p[k]);

fclose(wf);

}

答案:

for(j=0;j

{

max=tt[0][j];

for(i=0;i

if(tt[i][j]>max)

max=tt[i][j];

pp[j]=max;

}

第10题(10.0分)题号:

319难度:

中第2章

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

判断m是否为素数。

------------------------------------------------*/

#include"stdio.h"

voidwwjt();

intfun(intm)

{

/**********Program**********/

/**********End**********/

}

main()

{

intm,k=0;

for(m=100;m<200;m++)

if(fun(m))

{

printf("%4d",m);

k++;

if(k%5==0)

printf("\n");

}

printf("k=%d\n",k);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN,iOUT,i;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Pl

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

当前位置:首页 > 高等教育 > 军事

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

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