哈工大c语言练习题

合集下载

哈尔滨工业大学2003-2006年C语言 考试题

哈尔滨工业大学2003-2006年C语言 考试题

哈工大2003年春季学期C语言考试题说明:请将答案写在答题纸的相应题号后面!!!!!一、填空题:(24分每空1.5分)1.已知:int *p,a; 则语句p=&a;中的运算符&的含义是( 1 )。

2.凡在函数体内没有明显存储类别说明的变量是( 2 )。

3.已知:struct{ int k;char c;float a;}test; 则sizeof(test)的值是(3 )。

4.程序填空:(1)下面的程序是main函数利用函数abcd来交换main中的两个变量的值。

# include <stdio.h>main(){float x=10,y=20;abcd( 4 );printf(“%f,%f”,x,y);}abcd(x,y)( 5 );{float temp;temp=( 6 );( 7 );( 8 );}(2)下面的程序是使用冒泡法对输入的10个数据从小到大排序。

排好序的10个数分两行输出。

#include <stdio.h>main(){ ( 9 );int j,k;printf(“ input 10 numbers please \n”);for(j=0;( 10 );j++)scanf(“%f”,&a[j]);printf(“\n”);for(j=0;( 11 );j++)for(k=0;( 12 );k++)if( 13 ){ x=a[k];( 14 );a[k+1]=x;}printf(“The sorted 10 numbers:\n”);for(j=0;( 15 );j++){ if( 16 )printf(“\n”);printf(“%f\t”,a[j]);}printf(“\n”);}二、单项选择题:(20分每题2分)1.C语言中基本数据类型包括( )。

A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、实型2.已知int i,a; 执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是()。

哈尔滨工业大学C语言MOOC在线测试周答案

哈尔滨工业大学C语言MOOC在线测试周答案

本答案仅供参考第3周1计算两个数(de)平方和(3分)题目内容:从键盘读入两个实数,编程计算并输出它们(de)平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数.提示:使用数学函数需要在程序中加入编译预处理命令 include <>以下为程序(de)运行结果示例:please input x and y:,↙result=输入格式: "%f,%f"输出格式:输入提示信息:"Please input x and y:\n"输出格式:"Result=%.2f\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <> <>int main(){float x,y,S,D;printf("Please input x and y:\n");scanf("%f,%f",&x,&y);S = pow(x,2);D = pow(y,2);printf("Result=%.2f\n",S+D);return 0;}2逆序数(de)拆分计算(3分)题目内容:从键盘输入一个4位数(de)整数,编程计算并输出它(de)逆序数(忽略整数前(de)正负号).例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算41000+3100+210+1 = 4321,并输出4321.再将得到(de)逆序数4321拆分为两个2位数(de)正整数43和21,计算并输出拆分后(de)两个数(de)平方和(de)结果.以下是程序(de)运行结果示例:Input x:-1234↙y=4321a=43,b=21result=2290输入格式: "%d"输出格式:输入提示信息:"Input x:\n"逆序数输出格式:"y=%d\n"逆序数拆分后(de)输出格式:"a=%d,b=%d\n"平方和(de)输出格式:"result=%d\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <> <>main(){int x,b0,b1,b2,b3,y,a,b,c;printf("Input x:\n");scanf("%d",&x);x = (int)fabs(x); /取x绝对值/b3 = x/1000; /取x千位/b2 = (x-b31000)/100; /取x百位/b1 = (x-b31000-b2100)/10; /取x十位/b0 = x%10; /取x个位/y = b3+b210+b1100+b01000;printf("y=%d\n",y);a = b010+b1;b = b210+b3;c = (aa)+(bb);printf("a=%d,b=%d\n",a,b);printf("result=%d\n",c);return 0;}3拆分英文名(3分)题目内容:从键盘输入某同学(de)英文名(小写输入,假设学生(de)英文名只包含3个字母.如: tom),编写程序在屏幕上输出该同学(de)英文名,且首字母大写(如: Tom).同时输出组成该英文名(de)所有英文字符在26个英文字母中(de)序号.以下为程序(de)运行结果示例:Input your English name:tom↙Tomt:20o:15m:13输入格式: "%c%c%c"输出格式:输入提示信息:"Input your English name:\n"首字母大写(de)英文姓名(de)输出格式:"%c%c%c\n"姓名中每个字母在26个英文字母中(de)序号(de)输出格式:"%c:%d\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <> <>int main(){char x,y,z,A;printf("Input your English name:\n");scanf("%c%c%c\n",&x,&y,&z);A=x-32; /首字母改为大写/printf("%c%c%c\n",A,y,z);printf("%c:%d\n",x,x-96);printf("%c:%d\n",y,y-96);printf("%c:%d\n",z,z-96);}4计算体指数(3分)题目内容:从键盘输入某人(de)身高(以厘米为单位,如174cm)和体重(以公斤为单位,如70公斤),将身高(以米为单位,如1.74m)和体重(以斤为单位,如140斤)输出在屏幕上,并按照以下公式计算并输出体指数,要求结果保留到小数点后2位.假设体重为w公斤,身高为h米,则体指数(de)计算公式为:以下是程序(de)运行结果示例:Input weight, height:70,174↙weight=140height=t=输入格式: "%d,%d"输出格式:输入提示信息:"Input weight, height:\n" (注意:在height和逗号之间有一个空格)体重输出格式:"weight=%d\n"身高输出格式:"height=%.2f\n"体指数输出格式:"t=%.2f\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <> <>int main(){float A,b;int x,y;printf("Input weight, height:\n");scanf("%d,%d",&x,&y);printf("weight=%d\n",x2);A=(float)y/100;printf("height=%.2f\n",A);b=(float)x/(AA);printf("t=%.2f\n",b);}第4周1数位拆分(4分)题目内容:从键盘上输入一个4位数(de)整数n,编写程序将其拆分为两个2位数(de)整数a和b,计算并输出拆分后(de)两个数(de)加、减、乘、除和求余运算(de)结果.例如n=-4321,设拆分后(de)两个整数为a,b,则a=-43,b=-21.除法运算结果要求精确到小数点后2位.求余和除法运算需要考虑除数为0(de)情况,即如果拆分后b=0,则输出提示信息"The second operater is zero"程序(de)运行结果示例1:Please input n:1200↙12,0sum=12,sub=12,multi=0The second operater is zero程序(de)运行结果示例2:Please input n:-2304↙-23,-4sum=-27,sub=-19,multi=92dev=,mod=-3输入格式: "%d"输出格式:输入提示信息:"Please input n:\n"拆分后(de)两个整数(de)输出格式:"%d,%d\n"加法、减法、乘法(de)输出格式:"sum=%d,sub=%d,multi=%d\n"除法和求余(de)输出格式:"dev=%.2f,mod=%d\n"除数为0(de)提示信息:"The second operater is zero\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <> <>main(){float c;int x,b0,b1,b2,b3,a,b,d;printf("Please input n:\n");scanf("%d",&x);b3 = x/1000; /取x千位/b2 = (x-b31000)/100; /取x百位/b1 = (x-b31000-b2100)/10; /取x十位/b0 = x%10; /取x个位/a=b310+b2; /拆分输入(de)整数为两段/b=b110+b0;printf("%d,%d\n",a,b);printf("sum=%d,sub=%d,multi=%d\n",a+b,a-b,ab); /输出两段数(de)加,减,乘/if(0==b){printf("The second operater is zero\n");}else{c=(float)a/b;d=a%b;printf("dev=%.2f,mod=%d\n",c,d);}return 0;}2快递费用计算(4分)题目内容:上海市(de)某快递公司根据投送目(de)地距离公司(de)远近,将全国划分成5个区域:快递费按邮件重量计算,由起重费用、续重费用两部分构成:(1)起重(首重)1公斤按起重资费计算(不足1公斤,按1公斤计算),超过首重(de)重量,按公斤(不足1公斤,按1公斤计算)收取续重费;(2)同城起重资费10元,续重3元/公斤;(3)寄往1区(江浙两省)(de)邮件,起重资费10元,续重4元;(4)寄往其他地区(de)邮件,起重资费统一为15元.而续重部分,不同区域价格不同:2区(de)续重5元/公斤,3区(de)续重元/公斤,4区(de)续重10元/公斤.编写程序,从键盘输入邮件(de)目(de)区域编码和重量,计算并输出运费,计算结果保留2位小数.提示:续重部分不足一公斤,按1公斤计算.因此,如包裹重量2.3公斤:1公斤算起重,剩余(de)1.3公斤算续重,不足1公斤按1公斤计算,1.3公斤折合续重为2公斤.如果重量应大于0、区域编号不能超出0-4(de)范围.程序运行结果示例1:4,↙Price:程序运行结果示例2:5,↙Error in AreaPrice:输入格式:用逗号分隔(de)两个数字,第一个表示区域、第二个是重量:"%d,%f"输出格式:价格(de)输出格式:"Price: %\n"区域错误(de)提示信息:"Error in Area\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <>include <>define eps 1E-5main(){float b,c,d;int a;scanf("%d,%f",&a,&b);switch(a){case 0:if (b<=1+eps){c=;}else{d=ceil;c=d3+;}printf("Price: %5.2f\n",c); break;case 1:if (b<=1+eps){c=;}else{d=ceil;c=d4+;}printf("Price: %5.2f\n",c); break;case 2:if (b<=1+eps){c=;}else{d=ceil;c=d5+;}printf("Price: %5.2f\n",c); break;case 3:if (b<=1+eps){c=;}else{d=ceil;c=d+15;}printf("Price: %5.2f\n",c); break;case 4:if (b<=1+eps){c=;}else{d=ceil;c=d10+;}printf("Price: %5.2f\n",c);break;default:printf("Error in Area\n");printf("Price: ");}return 0;}3数据区间判断(6分)题目内容:从键盘输入一个int型(de)正整数n(已知:0<n<10000),编写程序判断n落在哪个区间.如果用户输入(de)数据不在指定(de)范围里,程序输出"error".例如,输入265,则该数属于区间 100-999.程序运行结果示例1:Please enter the number:2563↙2563: 1000-9999程序运行结果示例2:Please enter the number:156↙156: 100-999程序运行结果示例3:Please enter the number:36↙36: 10-99程序运行结果示例4:Please enter the number:3↙3: 0-9程序运行结果示例5:Please enter the number:10923↙error输入格式: "%d"输出格式:输入提示信息:"Please enter the number:\n"输出(de)区间判断:"%d: 1000-9999\n""%d: 100-999\n""%d: 10-99\n""%d: 0-9\n"输入错误提示信息:"error\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <>include <>int main(){int x,b0,b1,b2,b3,y,a,b,c;printf("Please enter the number:\n");scanf("%d",&x);if (x<=0||x>=10000){printf("error\n");}else{b3 = x/1000; /取x千位/b2 = (x-b31000)/100; /取x百位/b1 = (x-b31000-b2100)/10; /取x十位/ b0 = x%10; /取x个位/if(b3=0){printf("%d: 1000-9999\n",x);}else if(b3==0&&b2=0){printf("%d: 100-999\n",x);}else if(b3==0&&b2==0&&b1=0){printf("%d: 10-99\n",x);}else{printf("%d: 0-9\n",x);}}return 0;}4计算一元二次方程(de)根(4分)题目内容:根据下面给出(de)求根公式,计算并输出一元二次方程(de)两个实根,要求精确到小数点后4位.其中a,b,c(de)值由用户从键盘输入.如果用户输入(de)系数不满足求实根(de)要求,输出错误提示"error".程序运行结果示例1:Please enter the coefficients a,b,c:1,2,1↙x1=, x2=程序运行结果示例2:Please enter the coefficients a,b,c:2,6,1↙x1=, x2=程序运行结果示例3:Please enter the coefficients a,b,c:2,1,6↙error输入格式: "%f,%f,%f"输出格式:输入提示信息:"Please enter the coefficients a,b,c:\n"输出格式:"x1=%7.4f, x2=%\n"输入错误提示信息:"error\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <>include <>int main(){float a,b,c,disc,p,q;printf("Please enter the coefficients a,b,c:\n");scanf("%f,%f,%f",&a,&b,&c);disc=bb-4ac;if(disc<0){printf("error\n");}else{p=-b/(2a);q=sqrt(disc)/(2a);printf("x1=%7.4f, x2=%7.4f\n",q+p,p-q);}return 0;}第五周16位密码输入检测(4分)题目内容:从键盘输入6位仅由数字0~9组成(de)密码.用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码.直到用户输入(de)密码全部是数字为止.以下为程序(de)运行结果示例:Input your password:1↙1, you have enter 1-bits number6↙6, you have enter 2-bits numbera↙errord↙error4↙4, you have enter 3-bits number6↙6, you have enter 4-bits number8↙8, you have enter 5-bits number2↙2, you have enter 6-bits number输入格式:数字字符输入格式:"%c"输出格式:输入提示信息:"Input your password:\n"如果输入(de)是数字,输出格式为:"%c, you have enter %d-bits number\n"如果输入(de)不是数字,输出提示信息:"error\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <>int main(){int i;char c;printf("Input your password:\n");i=0;while (i<6){scanf("%c%c",&c);if ((c>=48)&&(c<=57)){i=i+1;printf("%c, you have enter %d-bits number\n",c,i); }else{printf("error\n");}}return 0;}2判断一个整型数据有几位(4分)题目内容:从键盘输入一个整型数据(int型),编写程序判断该整数共有几位.例如,从键盘输入整数16644,该整数共有5位.程序运行结果示例1:Please enter the number:21125↙21125: 5 bits程序运行结果示例2:Please enter the number:-12234↙-12234: 5 bits输入格式: "%d"输出格式:输入提示信息:"Please enter the number:\n"判断该整数共有几位: "%d: %d bits\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <>include <>int main(){int n,nn,b,i,j,sum;printf("Please enter the number:\n");scanf("%d",&n);nn=fabs(n);b=1;sum=1;i=1;j=10;while (b=1){if ((nn>=i)&&(nn<j)){printf("%d: %d bits\n",n,sum);b=0;break;}else{i=i10;j=j10;sum=sum+1;}}return 0;}3检测输入数据中奇数和偶数(de)个数(4分)题目内容:从键盘输入一系列正整数,输入-1表示输入结束(-1本身不是输入(de)数据).编写程序判断输入数据中奇数和偶数(de)个数.如果用户输入(de)第一个数据就是-1,则程序输出"over".否则.用户每输入一个数据,输出该数据是奇数还是偶数,直到用户输入-1为止,分别统计用户输入数据中奇数和偶数(de)个数.程序运行结果示例1:Please enter the number:1↙1:odd5↙5:odd8↙8:even9↙9:odd12↙12:even17↙17:odd-1↙The total number of odd is 4The total number of even is 2程序运行结果示例2:Please enter the number:-1↙overThe total number of odd is 0The total number of even is 0输入格式: "%d"输出格式:输入提示信息:"Please enter the number:\n"用户输入(de)第一个数据就是-1,输出格式:"over\n"奇数(de)输出格式:"%d:odd\n"偶数(de)输出格式:"%d:even\n"输入数据中奇数(de)个数统计:"The total number of odd is %d\n"输入数据中偶数(de)个数统计:"The total number of even is %d\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <>int main(){int a,odd,even;odd=0;even=0;printf("Please enter the number:\n");a=0;while (a=-1){scanf("%d",&a);if (a=-1){if (a%2==1){odd++;printf("%d:odd\n",a); }else {even++;printf("%d:even\n",a); }}}if (even+odd==0){printf("over\n");}printf("The total number of odd is %d\n",odd);printf("The total number of even is %d\n",even);return 0;}4计算球(de)反弹高度(4分)题目内容:一个球从100米高度自由落下,每次落地后反跳回原高度(de)一半,再落下并反弹......,求它在第5次和第10次落地时,分别共经过了多少米第5次和第10次反弹分别是多高要求计算结果保留到小数点后3位.用户从键盘输入想要计算(de)第n次(n<=15).程序运行结果示例1:Input:5↙5 times:程序运行结果示例2:Input:10↙10 times:输入格式: "%d"输出格式:反弹次数:"%d times:\n"第n次反弹共经过多少米:"%.3f\n"第n次(de)反弹高度:"%.3f\n"输入提示信息:"Input:\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <>int main(){double h,sum=0;int n,i;printf("Input:\n");scanf("%d",&n);h=100;for (i=1;i<=n;i++){sum+=h;h/=2;sum+=h;}sum-=h;printf("%d times:\n",n);printf("%.3f\n",sum);printf("%.3f\n",h);return 0;}第六周1程序改错(5分)下面代码(de)功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入(de)是非法字符或者不在合理区间内(de)数据(例如输入(de)是a,或者102,或-45等),则程序输出 Input error,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出.目前程序存在错误,请将其修改正确.并按照下面给出(de)运行示例检查程序.1.include<>2. int main()3. {4. int score;5. char grade;6. printf("Please input score:");7. scanf("%d", &score);8. if (score < 0 || score > 100)9. printf("Input error\n");10. else if (score >= 90)11.grade = 'A’;12. else if (score >= 80)13. grade = 'B';14. else if (score >= 70)15. grade = 'C';16. else if (score >= 60)17. grade = 'D';18. else19. grade = 'E';20. printf("grade:%c\n", grade);21. return 0;22.}程序运行结果示例1:Please input score:a↙Input errorPlease input score: -12↙Input errorPlease input score: 230↙Input errorPlease input score: 92↙grade: A程序运行结果示例2:Please input score: 88↙grade: B程序运行结果示例3:Please input score: 73↙grade: C程序运行结果示例4:Please input score:65↙grade: D程序运行结果示例5:Please input score:27↙grade: E输入提示信息:"Please input score:\n"输入格式: "%d"输出格式:输入错误时(de)提示信息:"Input error\n"输出格式:"grade: %c\n" (注意:%c前面有一个空格)为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude<>int main(){int score=-1;char grade;printf("Please input score:\n");scanf("%d", &score);while(score < 0 || score > 100){getchar();printf("Input error\n");printf("Please input score:\n"); scanf("%d", &score);}if (score >= 90)grade = 'A';else if (score >= 80)grade = 'B';else if (score >= 70)grade = 'C';else if (score >= 60)grade = 'D';elsegrade = 'E';printf("grade: %c\n", grade);return 0;2编程计算a+aa+aaa+…+aa…a(n个a)(de)值(4分)题目内容:编程计算a+aa+aaa+…+aa…a(n个a)(de)值,n和a(de)值由键盘输入.例如,当n=4,a=2,表示计算2+22+222+2222(de)值.程序运行结果示例:Input a,n:2,4↙sum=2468输入提示信息:"Input a,n:\n"输入格式: "%d,%d"(先输入a,后输入n)输出格式:"sum=%ld\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:31kbinclude <>main()long term=0,sum=0;int a,i,n;printf("Input a,n:\n");scanf("%d,%d",&a,&n);for(i=1;i<=n;i++){term=term10+a;sum =sum+term;}printf("sum=%ld\n",sum);}3搬砖问题(4分)题目内容:n块砖( 27<n<=77 ),36人搬,男搬4,女搬3,两个小孩抬一块砖,要求一次搬完,问男人、女人和小孩各需多少人请用穷举法编程求解,n(de)值要求从键盘输入.输出结果按照男人数量升序给出(见下面示例3).程序(de)运行结果示例1:Input n(27<n<=77):28↙men=0,women=4,children=32程序(de)运行结果示例2:Input n(27<n<=77):36↙men=3,women=3,children=30程序(de)运行结果示例3:Input n(27<n<=77):60↙men=2,women=14,children=20men=7,women=7,children=22men=12,women=0,children=24输入提示:"Input n(27<n<=77):\n"输入格式: "%d"输出格式:"men=%d,women=%d,children=%d\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.include<>int main(){int a;int man, wman, child;printf("Input n(27<n<=77):\n");scanf("%d",&a);for (man = 0; man <= 15; man++){for (wman = 0; wman <= 20; wman++){child = 36 - wman - man;if (a == child / 2 + 3 wman + 4 man && child % 2 == 0){printf("men=%d,women=%d,children=%d\n", man, wman, child);}}}}4编程输出某年某月有多少天(考虑到闰年).(5分)题目内容:从键盘输入一个年份和月份,输出该月有多少天(考虑闰年),用switch 语句编程.程序运行结果示例1:Input year,month:2015,3↙31 days程序运行结果示例2:Input year,month:2015,4↙30 days程序运行结果示例3:Input year,month:2016,2↙29 days程序运行结果示例4:Input year,month:2014,2↙28 days程序运行结果示例5:Input year,month:2015,13↙Input error输入提示信息:"Input year,month:\n"输入格式: "%d,%d"输出格式:输入错误时(de)提示信息:"Input error\n"输出格式:"31 days\n""30 days\n""29 days\n""28 days\n"为避免出现格式错误,请直接拷贝粘贴题目中给(de)格式字符串和提示信息到你(de)程序中.时间限制:500ms内存限制:32000kbinclude <>int main( ){int y,m;printf("Input year,month:\n");scanf("%d,%d",&y,&m);if (m< 0||m>12) {printf("Input error\n");return 0;} switch (m){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31 days\n");break;case 4:case 6:case 9:case 11:printf("30 days\n");break;case 2:if (y%100==0) y/=100;if (y%4==0) printf("29 days\n");else printf("28 days\n");}return 0;}第七周1递归法计算游戏人员(de)年龄(4分)题目内容:有n个人围坐在一起,问第n个人多大年纪,他说比第n-1个人大2岁;问第n-1个人,他说比第n-2个人大2岁,.....,问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁.第1个人说自己10岁,问第n个人多大年纪.递归函数原型:unsigned int ComputeAge(unsigned int n);提示:计算年龄(de)递归公式为:输入格式: "%u"输出格式:"The person's age is %u\n"输入样例1:5↙输出样例1:The_person's_age_is_18输入样例2:10↙输出样例2:The_person's_age_is_28注意:为避免出现格式错误,请直接拷贝粘贴上面给出(de)输入、输出提示信息和格式控制字符串(注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格.)时间限制:500ms内存限制:32000kbinclude<>include<>unsigned int ComputeAge(unsigned int n);unsigned int ComputeAge(unsigned int n){int a;if (n == 1)a = 10;elsea = ComputeAge(n - 1) + 2;return a;}int main(){unsigned int n,f;scanf("%u",&n);f=ComputeAge(n);printf("The person's age is %u\n",f);return 0;}2.魔术师猜数(4分)题目内容:在一种室内互动游戏中,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数(de)和值.只要观众说出这个和是多少,则魔术师一定能猜出观众心里想(de)原数abc是多少.例如,观众甲说他计算(de)和值是1999,则魔术师立即说出他想(de)数是443,而观众乙说他计算(de)和值是1998,则魔术师说:“你算错了”.请编程模拟这个数字魔术游戏.要求用函数实现,函数原型为:int Magic(int m);其中形参m代表观众计算(de)和值.输入格式:"%d"输出格式:观众计算错误,魔术师给出(de)结论:"The sum you calculated is wrong\n"观众计算正确,魔术师给出(de)结论:"The number is %d\n"输入样例1:1998↙输出样例1:The_sum_you_calculated_is_wrong输入样例2:1999↙输出样例2:The_number_is_443注意:为避免出现格式错误,请直接拷贝粘贴上面给出(de)输入、输出提示信息和格式控制字符串(注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格.)参考:include<>include<>include<>include<>include<>....______vvvvvv______\t\n");printf("\t—__— zzzzzzzzzzz电脑不给力,请稍等一会......—__—zzzzzzzzzzzz\t\n");for(i=0;i<80;i++){printf("%%");Sleep(200);} printf("\t\t\t——终于结束了╮(╯▽╰)╭\t\t\t\n");system("CLS");system("color 8B");printf(" \n");。

哈工大C语言程序设计习题ex6

哈工大C语言程序设计习题ex6

习题66.3 阅读程序,按要求在空白处填写适当地表达式或语句,使程序完整并符合题目要求.(1)下面程序模拟了骰子地6000次投掷,用rand函数产生1~6之间地随机数face,然后统计1~6每一面出现地机会(概率)存放到数组frequency中.(2)从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素地下标位置,并输出.(3)下面程序地功能是从键盘输入一行字符,统计其中有多少单词.假设单词之间以空格分开.(4)下面地函数Squeeze(char s[],char c)地功能是删除字符串s中所出现地与变量c相同地字符.(5)下面地函数MyStrcmp()用于实现函数strcmp()地功能,将两个字符串s和t进行比较,然后将两个字符串中第一个不相同字符地ASCII码值之差作为函数值返回.6.4 编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和.6.5 从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数地位置对换后,再输出调整后地数组.6.6 输入5×5阶地矩阵,编程实现:(1)求两条对角线上地各元素之和.(2)求两条对角线上行、列下标均为偶数地各元素之积.6.7 编程打印如下形式地杨辉三角形.11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 16.8 编程将下列矩阵中地元素向右移动一列,最右一列移至第一列.1 4 68 10 126.9 利用公式c ij=a ij+b ij计算m×n阶矩阵A和m×n阶矩阵B之和.已知a ij为矩阵A地元素,b ij 为矩阵B 地元素,c ij 为矩阵C 地元素(i =1,2,…,m ;j =1,2,…,n ).*6.10 利用公式c ij =∑=nk ik a 1*b kj 计算矩阵A 和矩阵B 之积.已知a ij 为m ×n 阶矩阵A 地元素(i =1,2,…,m ;j =1,2,…,n ),b ij 为n ×m 阶矩阵B 地元素(i =1,2,…,n ;j =1,2,…,m ),c ij 为m ×m 阶矩阵C 地元素(i =1,2,…,m ;j =1,2,…,m ).6.11 输入一行字符,统计其中地英文字符、数字字符、空格和其他字符地个数.6.12 编写一个函数Inverse(),实现将字符数组中地字符串逆序存放地功能.6.13 不用函数strcat(),编程实现字符串连接函数strcat()地功能,将字符串srcStr 连接到字符串dstStr 地尾部.版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.Users may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.3 / 6转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.5 / 6。

哈工大c语言试题

哈工大c语言试题

哈工大 2008 年 秋 季学期C 语言 试题考成绩和卷面笔试成绩各自所占比例折合后累加计算。

一、填空题(6分,每题1分)1.设变量定义为“int x,y[10];”,则“_________”与“*(y+x)”等效。

2.如果在程序中使用了strcmp 库函数,则程序前面要写#include "________"。

3.1.37×1042在C 语言中写作________4.把C 语言源程序翻译成机器语言目标程序的过程称为“__________”,翻译得到的目标程序扩展名为“__________”。

5.已知x 是double 型变量,“scanf("________",&x);”用于从键盘读取数据存放到x 中。

6. 已知:“#define M(x,y) x*y ”,则表达式“M(5+4,3-1)”的值为________。

二、单项选择题:(10分,每题2分)1.判断字符串s1与字符串s2相等,应当使用: 。

A) if (s1 = s2)B) if (strcmp(s1, s2))C) if (!strcmp(s1, s2)) D) if (strcmp(s1, s2) = 0)2.用“if(0<x<3) x=x+1;”实现“如果x 在0到3之间则将其值加1”的操作,________。

(A) 正确(B) 有语法错误 (C) 有逻辑错误 (D) 有连接错误3.#include<stdio.h>#include<string.h> main() {printf("%d\n", strlen("IBM\n012\t\"\\\0")); }则程序运行后的输出结果是。

A) 10 B) 11 C) 16 D) 124.函数定义的首部写作“int func( )”,x、y是int型变量,则__________是正确的调用。

哈工大C语言试题

哈工大C语言试题

哈尔滨工业大学(威海)2008/2009秋季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 平时 (30%) 总分分数试卷说明: 1. 卷面总分100分,取卷面成绩的70%计入总分;2. 选择题、填空题与写运行结果题必须在答题卡内答题;3. 答题时禁止拆开试卷钉,背面即为草稿纸;4. 答题时间105分钟。

一、单项选择题(本题16分,每小题2分)题号 1 2 3 4 5 6 7 8 答案CDCDCCDB1. C 语言源程序文件经过C 编译程序编译连接之后生成一个后缀为______的文件。

A) .c B) .obj C) .exe D) .cpp 2. 表达式 !(x>0||y>0) 等价于_____。

A) !x>0||!y>0 B) !(x>0)||!(y>0) C)!x>0&&!y>0 D) !(x>0)&&!(y>0) 3. 已知函数的调用形式:fread(buffer, size, count, fp); 其中buffer 代表的 是( )。

A) 一个整型变量,代表要读入的数据项总数 B) 一个文件指针,指向要读入的文件C) 一个指针,指向要存放读入数据的地址 D) 一个存储区,存放要读入的数据项 4. 以下不能正确定义二维数组的选项是A) int a[2][2]={{1},{2}}; B) int a[][2]={1,2,3,4};C) int a[2][2]={{1},2,3}; D) int a[2][]={{1,2},{3,4}}; 5. 以下程序的输出结果是 _____。

main() {char ch[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}A) \"AAAA\" B) \"BBB\" C) "BBB" D) "AAAA"号学 名 姓教研室主任签字: 注意行为规范 遵守考试纪律6. 对y在[3,23]和[100,200]范围内为真的确表达式为_____。

春季c语言期末试卷及答案

春季c语言期末试卷及答案

哈尔滨工业大学(威海)2011/2012学年春季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 综合 (30%) 总分分数1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间105分钟。

一、单项选择题。

请把答案填入下面框中,不允许出框线。

(本题16分,每小题1分)题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 下面程序的输出是______。

main() { int x=10,y=3;printf("%d\n",y=x/y); }A) 0 B) 1 C) 3 D) 不确定的值 2. 下列函数的功能是______。

int fun1(char *x) { char *y = x; while(*y++); return(y-x-1); }A) 求字符串的长度 B) 将字符串X 连接到字符串Y 后面 C) 将字符串X 复制到字符串Y D) 比较两个字符串的大小号学名姓注意行为规范 遵守考试纪律3. 以下对C语言函数的有关描述中,正确的是______。

A) C程序中有调用关系的所有函数必须放在同一个源程序文件中B) C函数既可以嵌套定义又可以递归调用C) 调用函数时,实参的值传送给形参D) 函数必须有返回值4. 若用数组名作为函数调用的实参,传递给形参的是______。

A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数5. 若有以下定义,则p+5表示_______.int a[10],*p=a;A) 元素a[5]的地址B) 元素a[5]的值C) 元素a[6]的地址D) 元素a[6]的值6. 以下选项中,与k=n++完全等价的表达式是_______。

哈工大C语言实验题

哈工大C语言实验题

哈工大C语言实验题————————————————————————————————作者:————————————————————————————————日期:ﻩQ308.(10分)第5章实验2:体型判断。

医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。

体指数计算公式是:t = w/(h*h)其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。

根据给定的体指数t计算公式,可判断你的体重属于何种类型:当t<18时,为低体重;当18≤t<25 时,为正常体重;当25≤t<27 时,为超重体重;当t≥27 时,为肥胖。

****输入提示信息格式:"Please enter h,w:\n"****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入)****输出数据格式要求:当 t<18 时,输出:"Lower weight!\n"当18≤t<25 时,输出:"Standard weight!\n"当25≤t<27时,输出:"Higher weight!\n"当t≥27 时, 输出:"Too fat!\n"#include <stdio.h>#include <stdlib.h>main(){float t,w,h;printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w);t = w/(h*h);if(t<18)printf("Lower weight!\n");else if(t>=18&&t<25)printf("Standardweight!\n");else if(t>=25&&t<27)printf("Higher weight!\n");elseprintf("Too fat!\n");return 0;}Q586.(10分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季)。

大学c语言试题题库及答案

大学c语言试题题库及答案

大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。

答案:+2. C语言中的________关键字用于声明一个无返回值的函数。

哈工大c语言 练习题

哈工大c语言 练习题

求用户输入的两个数的商,程序运行时,以如下格式输入数据:Input two integers:4 2↙请改正程序中的错误,使它能得出正确的结果。

#include <>main(){int a, b, c;printf("Input two integers:");scanf("%d,%d", &a, &b);c = a\b;printf("The quotient of a and b is :%d", c);}# include <>int main (){int a,b,c;printf ("Input two integers:");scanf ("%d %d",&a,&b);c=a/b;printf ("The quotient of a and b is :%d\n",c);return 0;}使用const常量定义圆周率pi=,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。

输出的数据保留两位小数点。

输入格式要求:"%lf"提示信息:"Input r:"输出格式要求:"printf WITHOUT width or precision specifications:\n""circumference = %f, area = %f\n""printf WITH width and precision specifications:\n""circumference = %, area = %\n"程序运行示例如下:Input r:printf WITHOUT width or precision specifications:circumference = , area =printf WITH width and precision specifications:circumference = , area =#include <>int main(){const double PI=;double r;printf("Input r:");scanf("%lf", &r);printf("printf WITHOUT width or precision specifications:\n");printf("circumference = %f, area = %f\n",2*PI*r,PI*r*r);printf("printf WITH width and precision specifications:\n");printf("circumference = %, area = %\n",2*PI*r,PI*r*r);return 0;}写一个程序,将接收的华氏温度转换为对应的摄氏温度。

C语言程序设计-A卷

C语言程序设计-A卷

哈尔滨工业大学〔威海〕2007/2021学年秋季学期C 语言程序设计 笔试试题〔A 卷〕题号 一二三四五六笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷反面即为草稿纸;4. 答题时间120分钟。

一、单项选择题。

请把答案填入下面框中,不允许出框线。

〔此题16分,每题2分〕题号 1 2 3 4 5 6 7 8 答案1. 以下选项中合法的C 语言用户标识符是( )。

2. 有以下程序main() {int a=0, b=0, c=0, d=0; if(a=2) b=2; c=4; else d=3;printf("%d,%d,%d,%d\n",a,b,c,d); }那么程序输出( )。

A) 0,1,2,0 B) 0,0,0,3 C) 1,1,2,0D) 编译有错号学名姓注意行为标准 遵守考试纪律3.用语句scanf(“%c%c%c〞,&c1,&c2,&c3);输入〞a,b,c〞时,变量c1、c2、c3的值分别为( )。

A) ‘a′,′b′,′c′B) ′a′,′b′,′′C) ′a′,′,′,′b′ D) ′a′,′′,′c′4.有以下程序段main( ){int k=0;while(k=1) k++;}那么while循环执行的次数是( )。

A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次5.有以下程序:#include <stdio.h>#include <string.h>main(){char *p=〞abc\101\0fghijk\0〞;printf(“%d〞,strlen(p));}执行后的输出结果为( )。

A) 6 B) 4 C) 12 D) 146.设有说明语句:int a=1, b=2, c=3, d=4, m=2, n=2;那么执行(m=a>b)&& (n=c>d)后n的值为( )。

2022年哈尔滨工业大学公共课《C语言》科目期末试卷B(有答案)

2022年哈尔滨工业大学公共课《C语言》科目期末试卷B(有答案)

2022年哈尔滨工业大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、结构化程序由________、________ 、________ 3种基本结构组成。

4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。

5x7+3x6-4x5+2x1+x3-6x2+x+105、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。

6、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。

7、下面程序段的运行结果是_______。

x=2;do{printf("*");x--;)while(!x==0);8、下面程序段将输出computer。

请填空。

char c[]="It is a computer";for(i=0;_______;i++){_______;printf("%c",c[j]);}9、下面程序段的运行结果是_______。

int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);10、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。

请填空。

(假设程序段中的所有变量均已正确说明。

)for(k=0;k<10;k++,m++)scanf("%d",_______);二、选择题11、下面4个选项中,是不合法的转义字符的选项是()A.'\"'B.'\1011 'C.'\0ll'D.'\abe'\\ '\' '\f' '\0ll'\xf' ' \a' '\]' 'xlf'12、下面4个选项中,是正确的数值常量或字符常量的选项是( )13、以下叙述正确的是A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误14、以下叙述不正确的是( )A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面15、在C语言中,一维数组的定义方式为:类型说明符数组名()。

哈尔滨工业大学材料力学编程题c语言程序

哈尔滨工业大学材料力学编程题c语言程序

材料力学上机课程作业:C语言编写1一个力作用下的任意截面的弯矩,挠度。

程序:#include <stdio.h>#include<math.h>double Mz,l,a,x,v,E,I,b,F;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入长度a\n");scanf("%lf",&a);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入力F\n");scanf("%lf",&F);printf("请输入x\n");scanf("%lf",&x);b=l-a;if(x>0&&x<a){Mz=F*(l-a)*x/l;v=-F*b*x*(l*l-x*x-b*b)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else if(x>a&&x<l){Mz=F*a*(l-x)/l;v=-F*b*(l/b*pow(x-a,3)+(l*l-b*b)*x-x*x*x)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else{printf("數值溢出\n");}}运算结果:选取材料的L=1m,E=4.5GPa。

哈工大C语言试验题

哈工大C语言试验题

Q3O8・(io 分)第5章实验2:体型判断。

医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。

体指数计算公式是:t = w /(h*h)其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。

根据给定的体指数t计算公式,可判断你的体重属于何种类型:当t<18时,为低体重;当18 <t<25时,为正常体重;当25 < t<27时,为超重体重;当t >27时,为肥胖。

****输入提示信息格式:"Please enter h,w:\n"****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入)****输出数据格式要求:当t<18 时,输出:"Lower weight!\n"当18 <t<25 时,输出:"Standard weight!\n"当25 <t<27 时,输出:"Higher weight!\n"当t >27 时,输出:"Too fat!\n"#in clude <>#in clude <> mai n()float t,w,h;printf("Please enter h,w:\n");{scanf("%f,%f",&h,&w);t = w/(h*h);if(t<18)printf("Lower weight!\n");else if(t>=18&&t<25)printf("Standard weight!\n");else if(t>=25&&t<27)printf("Higher weight!\n");elseprintf("Too fat!\n");return 0;Q586・(10分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季)。

哈尔滨工程大学c语言

哈尔滨工程大学c语言

一、选择题1. 对一维数组a的正确说明是 D 。

A) int a(10); B) int n=10,a[n]; C) int n; D) #define SIZE 10scanf("%d",&n); int a[SIZE];int a[n];2. 能对二维数组a进行正确初始化的语句是B。

A) int a[2][]={{1,0,1},{5,3,2}}; B) int a[][3]={{1,2,3},{4,5,6}};C) int a[2][4]={{1,2,3},{4,5},{6}}; D)int a[][3]={{1,0,1},{1,2,3,4},{1,1}};3. 对两个数组a和b进行如下初始化char a[]="ABCDEF";char b[]={'A','B','C','D','E','F'};则以下叙述正确的是D。

A) a与b数组完全相同B) a与b长度相同C) a和b中都存放字符串D) a数组比b数组长度长4. 以下数组定义中不正确的是 D 。

A) int a[2][3]; B) int b[][3]={0,1,2,3,4,5};C) int c[100][100]={0}; D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};5. 以下选项中,不能正确赋值的是 A 。

A) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest"; D) char s4[]="Ctest\n"二、阅读程序写出结果1.#include<stdio.h>void main(){ char ch[7]={"12ab56"};int i,s=0;for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}答案:12.#include<stdio.h>void main(){ int a[10]={1,2,2,3,4,3,4,5,1,5};int n=0,i,j,c,k;for(i=0;i<10-n;i++){ c=a[i];for(j=i+1;j<10-n;j++)if(a[j]==c){ n++;for(k=j;k<10-n;k++)a[k]=a[k+1];}}for(i=0;i<(10-n);i++)printf("%d",a[i]);}答案:123453.#include <stdio.h>void main(){ int i;char a[]="Time",b[]="Tom";for(i=0;a[i]!='\0'&&b[i]!='\0';i++)if(a[i]==b[i])if(a[i]>='a'&&a[i]<='z')printf("%c",a[i]-32);elseprintf("%c",a[i]+32);else printf("*");}答案:t*M4.#include<stdio.h>#define LEN 4void main(){ int j,c;static char n[2][LEN+1]={"8980","9198"}; for(j=LEN-1;j>=0;j--){c=n[0][j]+n[1][j]-2*'0';n[0][j]=c%10+'0';}for(j=0;j<=1;j++) puts(n[j]);}答案:7078 9198三、程序填空1.程序的功能是在a数组中查找与x值相同的元素的所在位置。

c语言试题,经典 (4)

c语言试题,经典 (4)

哈工大 2006 年 秋 季学期C 语言 试题和卷面笔试成绩各自所占比例折合后累加计算。

一、单项选择题:(10分,每题2分)1.char (*p)[10];该语句声明了一个: 。

A) 指向含有10个元素的一维字符型数组的指针变量pB) 指向长度为10的字符串的指针变量pC) 有10个元素的指针数组p ,每个元素可以指向一个字符串D) 有10个元素的指针数组p ,每个元素存放一个字符串2.以下错误的描述是。

A) 不同的函数中可以使用相同名字的变量,互不干扰B) 形式参数都是局部变量C) 函数定义可以嵌套D) C 语言中的函数参数传递都是单向值传递3.以下对二维数组进行正确初始化的是 。

A )int a[2][3]={{1,2},{3,4},{5,6}};B )int a[][3]={1,2,3,4,5,6};C )int a[2][]={1,2,3,4,5,6};D )int a[2][]={{1,2},{3,4}};4.已知:union{double k;char c;float a;}test;则sizeof(test)的值是:。

A)8 B)1 C)4 D)135.设有语句int a = 3; 执行了语句a += a -= a *= a; 后,变量a的值是________。

A) 3 B) 0 C) 9 D) -12二、写出下列程序的运行结果。

(10分,每题2分)1.#include <stdio.h>main(){char c;while ((c = getchar()) != '$'){putchar(c);}printf("End!\n");}程序运行时输入abcdefg$abcdefg↙则程序的运行结果为2.#include<stdio.h>void Fun(int *y){printf("*y = %d\n", *y);*y = 20;printf("*y = %d\n", *y);}main(){int x = 10;printf("x = %d\n", x);Fun(&x);printf("x = %d\n", x);}运行结果是:3.#include <stdio.h>main(){int n;for (n=1; n<=5; n++){if (n % 2){printf("*");}else{continue;}printf("#");}printf("$\n");}运行结果是:4.#include <stdio.h>struct date{int year;int month;int day;};void func(struct date *p){p->year = 2006;p->month = 11;p->day = 18;}main(){struct date d;d.year = 2005;d.month = 12;d.day = 10;printf(“%d,%d,%d\n”,d.year,d.month,d.day);func(&d);printf(“%d,%d,%d\n”,d.year,d.month,d.day);}运行结果是:5.#include<stdio.h>int Fun(int x){static int y = 10;y += x;return y;}main(){int y = 0, k;for (k=0; k<2; k++){y = Fun(k);printf("y = %d\n", y);}}运行结果是:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。

哈工大C语言程序设计作业

哈工大C语言程序设计作业
{
int i,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
printf("%8d",at[i][j]);
if(j==n-1)
putchar(10);
}
}
}
8、参考例8.6程序中的函数ReadScor()和Average(),输入某班同学某门课成绩(最多不超过40人),当输入为负值时,表示输入结束,用函数编程统计成绩高于平均分(包括等于平均分)的学生人数。
#include<stdio.h>
#define N 10
#define M 10
void Transpose(int a[][N], int at[][M], int m, int n);
void InputMatrix(int a[][N], int m, int n);
void PrintMatrix(int at[][M], int n, int m);
#include<stdio.h>
int main()
{
int a[5][5],s[5],t[5];
int i,j,k,l,h,n,m;
for (i=0;i<=4;i++)
{
scanf("%d %d %d %d %d",&a[i][0]&a[i][1],&a[i][2],&a[i][3],&a[i][4]);
}
int FindMin(int s[],int n)
{
int Min=0,m=s[0],i;
for (i=1;i<n;i++)

哈工大2003-2006年高级语言程序设计 考试题答案

哈工大2003-2006年高级语言程序设计 考试题答案

哈工大2003年春季学期C语言考试题参考答案一、填空题:(24分)(1) 将变量a的地址存入 (9) float a[10]指针变量p中(2) 自动变量 (10) j<10(3) 7 (11) j<=8(4) &x,&y (12) k<=9-j(5) float *x,*y (13) a[k]>a[k+1](6) *x (14) a[k]=a[k+1](7) *x=*y (15) j<=9(8) *y=temp (16) j%5==0二、单选题:(20分)1、B2、A3、 D4、 B5、 D6、D7、D8、D9、A 10、A三、判断题:(16分)1、√2、√3、4、√5、 6、 7、√ 8、四、写出程序运行结果(20分)1、 a=8,x=1252、 adb=1,y=1 abcdefghimnohino3、04、a=61 a=723五、编程:1、main(){int a[3][4], i,j, max, m,n;for (i=0; i<3; i++){for(j=0 ;j<4 ;j++)scanf("%d",&a[n]);}max = a[0][0];m= n = 0;for (i=0; i<3; i++){for(j=0 ;j<4 ;j++)if (max<a[i][j]){max = a[i][j];m = i ;n=j ;}}printf("max=%d\n",max);printf("m=%d\tn=%d\n",m,n);2、#include <stdio.h>main(){int x,n,tt,f1(int int);scanf(“%d,%d”,&x,&n);tt=f1(x,n);printf(“%d”,tt);}int f1(int x,int y){int temp=1,I;for(I=1;I<=y;I++)temp*=x;return(tmp);}哈工大2002/2003学年秋季学期 C语言试题答案一、选择题1、D,2、B,3、A,4、B,5、A,6、A,7、D,8、D,9、B, 10、B二、给出下列程序的运行结果1、17,1022、13.7000003、d=204、135、s=12346、10三、阅读程序,在标有下滑线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。

哈工大c语言-练习题教学内容

哈工大c语言-练习题教学内容

哈工大c语言-练习题求用户输入的两个数的商,程序运行时,以如下格式输入数据:Input two integers:4 2↙请改正程序中的错误,使它能得出正确的结果。

#include <stdio.h>main(){int a, b, c;printf("Input two integers:");scanf("%d,%d", &a, &b);c = a\b;printf("The quotient of a and bis :%d", c);}# include <stdio.h>int main (){int a,b,c;printf ("Input two integers:");scanf ("%d %d",&a,&b);c=a/b;printf ("The quotient of a and b is :%d\n",c);return 0;}使用const常量定义圆周率pi=3.14159,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。

输出的数据保留两位小数点。

输入格式要求:"%lf"提示信息:"Input r:" 输出格式要求:"printf WITHOUT width or precision specifications:\n" "circumference = %f, area = %f\n" "printf WITH width and precision specifications:\n""circumference = %7.2f, area= %7.2f\n"程序运行示例如下:Input r:5.3printf WITHOUT width or precision specifications:circumference = 33.300854, area = 88.247263printf WITH width and precision specifications:circumference = 33.30, area = 88.25 #include <stdio.h>int main(){const double PI=3.14159;double r;printf("Input r:");scanf("%lf", &r);printf("printf WITHOUT width or precision specifications:\n");printf("circumference = %f, area = %f\n",2*PI*r,PI*r*r);printf("printf WITH width and precision specifications:\n");printf("circumference = %7.2f, area = %7.2f\n",2*PI*r,PI*r*r);return 0;}写一个程序,将接收的华氏温度转换为对应的摄氏温度。

2022年哈尔滨工程大学公共课《C语言》科目期末试卷A(有答案)

2022年哈尔滨工程大学公共课《C语言》科目期末试卷A(有答案)

2022年哈尔滨工程大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x为无符号整数。

表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x 中从第p位开始的n位求反(1变0,0变1),其他位不变。

请按表达式的求值顺序写出分解步骤,并解释含义。

__________________________________2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

4、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为_______5、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。

6、设main函数的说明为:int main(int argc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。

7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是_______,改正后为_______。

void add(float a,float b){float c;c=a+b;return c;}8、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。

_______9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

char cl,c2;scanf("%4c%4c",&cl,8&c2);10、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档