大连理工大学c语言上机考试题库,大连理工大学C语言机房模拟试题之程序设计题全.doc...

253b171540df25e1b84436cbe50dfc72.gif大连理工大学C语言机房模拟试题之程序设计题全.doc

程序题程序设计/*【程序设计】功能编写函数funstr,i,n,从字符串str中删除第i个 字符开始的连续n个字符(注意str0代表字符串 的第一个字符)。*/include stdio.hinclude string.hmain char str81; int i,n; void funchar str,int i,int n; void TestFunc; printf请输入字符串str的值n; scanfs,str; printf你输入的字符串str是sn,str; printf请输入删除位置i和待删字符个数n的值n; scanfdd, while in-1strlenstr printf删除位置i和待删字符个数n的值错请重新输入i和n的值n; scanfdd, funstr,i,n; printf删除后的字符串str是sn,str; TestFunc;void funchar str,int i,int n /*Begin/whilestrin-1 stri-1strin-1; i; stri-10;/* 或int ji-1,kin-1; whilestrjstrk0;*/ / End /void TestFunc FILE *IN,*OUT; char i200; /*char o200;*/ INin.dat,r; ifINNULL printfRead File Error; OUTout.dat,w; ifOUTNULL printfWrite File Error; fscanfIN,s,i; funi,2,8; fprintfOUT,sn,i; fcloseIN; fcloseOUT;/*【程序设计】功能请编一个函数void funint ttMN,int ppN, tt指向一个M行N列的二维数组,求出二维数组每列 中最小元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。*/include conio.hinclude stdio.hdefine M 3define N 4void funint ttMN,int ppN /*Begin/int i,j; forj0;jN;j ppjtt0j; fori1;iM;i ifttijppj ppjttij; / End /main int tMN22,45,56,30,19,33,45,38,20,22,66,40; void NONO; int pN,i,j,k; printfThe original data isn; fori0;iM;i forj0;jN;j printf6d,tij; printfn; funt,p; printfnThe result isn; fork0;kN;k printf4d,pk; printfn; NONO;/*【程序设计】1685功能能计算从1开始到n的自然数的和,n由键盘输入, 并在main函数中输出。*/include stdio.h int funint n /*Begin/ int sum0,i;fori1;in;i sumsumi;returnsum; / End /main int m; void TestFunc; printfEnter m ; scanfd, printfnThe result is dn, funm; TestFunc; /*【程序设计】1599功能调用函数fun判断一个三位数是否水仙花数。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。说明所谓水仙花数是指一3位数,其各位数字立方和 等于该数本身。例如153是一个水仙花数,因为153112527。*/include stdio.hint funint n /*Begin/ int bw,sw,gw;bwn/100;swn-bw*100/10;gwn10; ifnbw*bw*bwsw*sw*swgw*gw*gw return 1; else return 0; / End /main int n,flag; scanfd, flagfunn; ifflag printfd 是水仙花数n,n; else printfd 不是水仙花数n,n; TestFunc;/*【程序设计】功能编写函数sumint m,int n,求出mn之间包括m和n,mn能同时 被3和5整除的数的和,并将这些数的和作为返回值。-*/include stdio.hint sumint m,int n /*Begin/ int i, s0; forim;in;i ifi30 i50si; return s; / End /main void TestFunc; int m15,n300; printfsumdn,summ,n; TestFunc;/*【程序设计】功能求5行5列矩阵的主、副对角线上元素之和。注意, 两条对角线相交的元素只加一次。例如主函数中给出的矩阵的两条对角线的和为45。*/include stdio.hdefine M 5int funint aMM /*Begin/ int i, s0; fori0;iM;i saiiaiM-i-1; s-aM-1/2M-1/2; return s; / End /main int aMM1,3,5,7,9,2,4,6,8,10,2,3,4,5,6,4,5,6,7,8,1,3,4,5,6; int y; yfuna; printfsdn,y; TestFunc;/*【程序设计】功能根据整型形参m,计算如下公式的值 y1/51/61/71/81/91/10.1/m5例如若m9,则应输出1.168229*/include stdio.hdouble funint m /*Begin/ int i; double y0; fori0;im;i y1./i5; return y; / End /main int n; void TestFunc; printfEnter n ; scanfd, printfnThe result is 1fn, funn; TestFunc; /*【程序设计】功能求一批数中最大值和最小值的积。*/define N 30include stdlib.hinclude stdio.hint max_minint a,int n /*Begin/ int i, max, min; maxmina0; fori1;in;i ifaimax maxai; ifaimin minai; return max*min; / End /main int aN,i,k; void TestFunc; fori0;iN;i airand5110; fori0;iN;i printf5d,ai; ifi150 printfn; kmax_mina,N; printfthe result isdn,k; TestFunc;/*【程序设计】功能把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。*/include stdio.hinclude stdlib.hdefine VSIZE 20 int vectorVSIZE ; int funint list,int size /*Begin/int i,min0; fori1; i size; i iflistminlisti mini; return min; / End / main int i; void NONO; for i0;iVSIZE;i vectorirand; printfVectord6dn,i,vectori; ifunvector,VSIZE; printfnMininum Vectord6dn,i,vectori; NONO; /*【程序设计】功能求k(k13),所求阶乘的值作为函数值返回。 (要求使用递归)*/include stdio.hinclude conio.hlong funint k /*Begin/if k0 returnk*funk-1;else ifk0return 1L; / End /main int m; void TestFunc; printfEnter m ; scanfd, printfnThe result is ldn, funm; TestFunc; /*【程序设计】功能用do-while语句求1100的累计和。*/include stdio.hlong int funint n /*Begin/ int i 1, sum 0; do sum sum i; i; while i n ; return sum; / End /main int i100; void TestFunc; printf1100的累加和为ldn,funi; TestFunc;/*【程序设计】功能编写程序,实现矩阵(3行3列)的转置(即行列互换) 例如输入下面的矩阵 100 200 300 400 500 600 700 800 900 程序输出 100 400 700 200 500 800 300 600 900 */include stdio.hvoid funint array33 /*Begin/ int i,j,t; fori0; i 3; i forj0; j i; j tarrayij; arrayijarrayji; arrayjit; /*【或】 int i, j, t; for i0; i 3; i for ji1; j 3; j tarrayij; arrayijarrayji; arrayji t;*/ / End / main int i,j; void NONO; int array33100,200,300, 400,500,600, 700,800,900; for i0; i 3; i for j0; j 3; j printf7d,arrayij; printfn; funarray; printfConverted arrayn; for i0; i 3; i for j0; j 3; j printf7d,arrayij; printfn; NONO; /*【程序设计】功能将字符串中的小写字母转换为对应的大写字母, 其它字符不变。*/include string.hinclude stdio.hvoid changechar str /*Begin/int i; fori0;stri0;i ifstria striz stristri-32; / End /main void change; char str40; void TestFunc; getsstr; changestr; putsstr; TestFunc; /*【程序设计】功能从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 例如当s中的数为7654321时,t中的数为642。*/include stdio.hlong fun long s,long t /*Begin/long sl10;s / 10;t s 10;whiles 0 s s/100; t s10*sl t; sl sl * 10; / End /return t; main long s, t,m; void TestFunc; printfnPlease enter s; scanfld, mfuns,t; printfThe result is ldn, m; TestFunc;/*【程序设计】功能求出二维数组外围元素之和,作为函数值返回。二 维数组的值在主函数中赋予。-*/define M 4define N 5include stdio.hint funint aMN/*Begin/int s0; int i,j; fori0;iM;i ssai0aiN-1; forj1;jN-1;j ssa0jaM-1j; return s;/ End /main int aMN1,3,5,7,9,2,4,6,8,10,2,3,4,5,6,4,5,6,7,8; void TestFunc; int y; yfuna; printfsdn,y; TestFunc;/*【程序设计】功能找出一个大于给定整数且紧随这个整数的素数,并 作为函数值返回。*/include stdio.hincludeconio.hint funint n /*Begin/int i,k;forin1ifork2;ki;kifik0break;ifkireturni; / End /main int m; printfEnter m ; scanfd, printfnThe result is dn, funm; TestFunc; /*【程序设计】功能计算并输出给定整数n的所有因子之和(不包括1与自身)。注意n的值不大于1000。例如n的值为855时,应输出704。*/include stdio.hint funint n /*Begin/ int s0,i; fori2;in;i ifni0ssi; return s; / End /main printfsdn,fun855; TestFunc;/*【程序设计】功能删去一维数组中所有重复的数,只保留不同的数。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如一维数组中的数据是 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是 2 3 4 5 6 7 8 9 10。注意请勿改动主函数main和其它函数中的任何内容。*/include stdio.hdefine N 80int funint a,int n /*Begin/int i,j1,ka0; fori1;in;i ifkai ajai; kai; return j; / End /main void TestFunc; int aN2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10,i,n20; printfThe original datan; fori0;in;i printf3d,ai; nfuna,n; printfnnThe data after deletedn; fori0;in;i printf3d,ai; printfnn; TestFunc;/*【程序设计】功能用函数求N个10,60上的整数中能被5整除的最大 的数,如存在则返回这个最大值,如果不存在则 返回0。*/include stdio.hinclude stdlib.hdefine N 30int findint arr,int n int m0; /*Begin/ int i; fori0;in;i ifarri50 arrim marri; ifm0 return 0; / End / returnm;main int aN,i,k; void TestFunc; fori0;iN;i airand5010; fori0;iN;i printf5d,ai; ifi150 printfn; kfinda,N; ifk0 printfNO FOUNDn; else printfthe max isdn,k; TestFunc;/*【程序设计】a11,a21/1a1,a31/1a2an1/1an-1功能根据整型参数n,计算如图公式的值。*/include stdio.hinclude conio.hdouble funint n /*Begin/ int i; double a0; for i1;in;i a1./1a; return a; / End /main int m; void TestFunc; printfEnter m ; scanfd, printfnThe result is fn, funm; TestFunc; /*【程序设计】功能输入n个数,并求出小于平均值的数的个数。*/include stdio.hint average_numint a,int n /*Begin/int i,sum0,k0; double average; fori0;in;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值