资源描述:
《C语言上机考试题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C程序设计》课程期末上机考试考试时间:50分钟考试方式:从下面的20题中随机抽取一题,再附加一题,共需完成2道题。附加题不事先给定分值分配:第一题60分,第二题40分,共100分考试时间:第十八周1.编写函数longfun(longx),它的功能是:将长整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。例如:下面程序运行时输入:124578902,程序输出:24802.#includelongfun(longx){}voidmain(){longa,b;printf("Enteranumber:");scanf("%ld
2、",&a);b=fun(a);printf("b=%ld",b);}2.编写函数voidfun(intk,int*p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。例如:下面程序运行时若输入200,输出:25;若输入27720,输出:235711;若输入101,输出101。#includevoidfun(intk,int*p){}voidmain(){intx,a[17]={0},i;do{printf("Enteranumber(2-32767):");scanf("%d",&x)
3、;}while(x<2);fun(x,a);for(i=0;a[i]!=-1;i++)printf("%d",a[i]);printf("");}3.编写函数voidfun(int*x,intn),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。下面程序运行时若输入:2461397058,则输出:9861327054。#include#defineN10voidfun(int*x,intn){}voidmain(){inta[N],i;7for(i=0;i4、d",a+i);fun(a,N);for(i=0;iintfun(int*x,intn,float*w){}vo
5、idmain(){inta[30],i,n,m;floatb[6];printf("Inputanumber:");scanf("%d",&n);
for(i=0;iintfun(in
6、tx,longinty){}voidmain(){intx;longy;scanf("%d%ld",&x,&y);printf("n=%d",fun(x,y));}6.编写函数intfun(char(*ss)[N],intm,char*s),功能是:形参ss指向一个m行N列的二维字符数组,每行存放一个字符串。求出最长的字符串,复制到s所指的字符数组中,然后返回此最长字符串的长度。#defineN30#includeintfun(char(*ss)[N],intm,char*s){}7voidmain(){chara[8][N],b[N];inti,len
7、;for(i=0;i<8;i++)gets(a[i]);len=fun(a,8,b);printf("len=%d,str=%s",len,b);}7.编写函数intcountw(char*str),统计字符串str中单词的个数。单词之间以空格,逗号,句号作分隔,数字也看做单词。单词之间可能不止一个分隔符。如输入:It's10:10o'clock,Iamlate.屏幕上输出"Thereare6words."#includeintcountw(char*str){}voidmain(