您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 会议纪要 > (1)14-15第一学期过程考核-题签
试卷试卷考试名称:考试名称:(1)14-15第一学期过程考核日期:日期:2014-12-17时长:时长:1小时普通编程题(普通编程题(100分)分)1.(20分)编程实现从键盘输入5个国家名称(每个国名最长80个字符),找出并输出按字典顺序排在最前面的国名。要求:(1)用gets()函数输入字符串。(2)**输入提示信息为:Inputfivecountries'names:\n**输出格式为:Theminimumis:%s\n2.(20分)求组合数。编程计算:要求使用如下函数原型编程计算某数的阶乘值。/*函数功能:用迭代法计算无符号整型变量n的阶乘*/unsignedlongFact(unsignedintn);要求对输入数据有容错功能,输入负数或者输入的m值小于k值时能够让用户重新输入,直到输入正确为止。**输入格式要求:%d,%d提示信息:Inputm,k(m=k0):**输出格式要求:Thecombinationis%ld\n注1:如果题目中的公式显示不正常,则重新加载(刷新)一下页面即可显示正确注2:不允许使用goto语句#includestdio.h#includestring.h#defineN80voidmain(){intn;charstr[N],min[N];printf(Inputfivecountries'names:\n);gets(str);//2strcpy(min,str);//2for(n=1;n5;n++)//3{gets(str);//2if(strcmp(str,min)0)//4{strcpy(min,str);//2}}printf(Theminimumis:%s\n,min);//2}#includestdio.hunsignedlongfacto(unsignedintx);intmain(){intm,k;longcmn;do{printf(Inputm,k(m=k0):);//1scanf(%d,%d,&m,&k);//1}while(mk||m0||k0);//1cmn=facto(m)/(facto(k)*facto(m-k));//4printf(Thecombinationis%ld\n,cmn);//1return0;}unsignedlongfacto(unsignedintx){unsignedlongy;for(y=1;x0;x--)//2y*=x;//2returny;//1}3.(20分)请按给定的函数原型编程实现两个数组中对应该元素值的交换(数组的长度定义成5)。函数原型:voidexchange(inta[5],intb[5])要求:在主函数中输入两个数组中各元素的内容;调用函数exchange实现两个数组中对应该元素值的交换;在主函数中输出交换后两个数组的内容。****输入提示信息格式:无****输入数据格式要求:%d****输出提示信息格式:Outputarraya:Outputarrayb:****输出数据格式要求:%5d4.(20分)水仙花是指各位数字的立方和等于该数本身的三位数。例如153是水仙花数,因为153=1*1*1+5*5*5+3*3*3.请编程计算并输出所有的水仙花数。要求输出格式为%6d,且所有的水仙花数字在同一行。#includestdio.h#includestdlib.hvoidexchange(inta[5],intb[5]);intmain(){inta[5],b[5],i;for(i=0;i5;i++)//1{scanf(%5d,&a[i]);}for(i=0;i5;i++)//1{scanf(%5d,&b[i]);}exchange(a,b);//1printf(Outputarraya:);//1for(i=0;i5;i++)//1{printf(%5d,a[i]);//1}printf(\n);printf(Outputarrayb:);//1for(i=0;i5;i++){printf(%5d,b[i]);//1}return0;}voidexchange(inta[5],intb[5]){inti,temp;for(i=0;i5;i++)//1{temp=a[i];//1a[i]=b[i];//1b[i]=temp;//1}}#includestdio.hintmain(){inti,j,k,n;for(n=100;n1000;n++){i=n/100;j=(n-i*100)/10;k=n%10;if(n==i*i*i+j*j*j+k*k*k){printf(%6d,n);}}printf(\n);return0;}5.(20分)题目:题目:一个两位正整数,将它的个位数和十位数对调,得到另一个不同的两位正整数,我们称这两个正整数互为对调数。现在给定一个两位正整数,问能否找出另一个两位数,使得这两个正整数之和等于他们各自的对调数之和?例如:63+47=36+74.编程为输入的一个两位数找到满足如上要求的两位数,如果有全部输出,否则输出NONE.(提醒提醒:个位数为0是非法数据,个位数十位数相同是非法数据,当作没有处理,输出NONE.)要求:输入一行,输出若干行(满足的全部输出,各占一行)样例输入样例输入1::27样例输出样例输出1::27+61=72+1627+72=72+2727+83=72+3827+94=72+49样例输入样例输入2:66样例输出样例输出2::NONE#includestdio.h#includestdlib.hintget_value(inta,int*g,int*s);intmain(){inti,a,a_,b,b_,g_value,s_value,flag=0,flag_=0,sum=0;scanf(%d,&a);flag=get_value(a,&g_value,&s_value);if(flag==0){sum=0;}a_=g_value*10+s_value;//1for(i=11;i!=100;++i){b=i;flag_=get_value(b,&g_value,&s_value);//1if(flag_==0){continue;//1}else{b_=g_value*10+s_value;//1}if(a+b==a_+b_){sum++;//1printf(%d+%d=%d+%d\n,a,b,a_,b_);}}if(sum==0){printf(NONE);}return0;}intget_value(inta,int*g,int*s){if(a%10==0){return0;}else{*s=a/10;*g=a-10*(*s);if(*s==*g)//1{return0;}elsereturn1;}}}
本文标题:(1)14-15第一学期过程考核-题签
链接地址:https://www.777doc.com/doc-5319303 .html