北京理工大学网络教室C语言编程题库及答案绝对经典

合集下载

北京理工大学网络教室C语言编程题库及答案(绝对经典)

北京理工大学网络教室C语言编程题库及答案(绝对经典)

1.Hello world.之五兆芳芳创作输入:无输出:Hello world.程序:#include<stdio.h>int main(){printf("Hello world.\n");return 0;}2.Welcome to Beijing.程序:#include <stdio.h>int main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0;}3. 求A+B输入:整数1 整数2输出:整数1+整数2=和程序:#include<stdio.h>int main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d+%d=%d\n",a,b,a+b);return 0;}4. 求 x 的 3次方输入:一个整数.输出:该整数的 3 次方值.程序:#include<stdio.h>int main(){int x;scanf("%d",&x);printf("%d\n",x*x*x);return 0;}5. 学习打印你的第一个图形编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形.程序:#include<stdio.h>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}6. 一年级的算术题输入:接受两个整数,每个整数之间使用空格分隔.例如输入格局为:123 444输出:辨别输出依照整型数据进行 +、-、*、/、* 之后的运行结果.程序:#include<stdio.h>int main(){int a,b;scanf("%d %d",&a,&b);printf("%d+%d=%d\n",a,b,a+b);printf("%d-%d=%d\n",a,b,a-b);printf("%d*%d=%d\n",a,b,a*b);printf("%d/%d=%d\n",a,b,a/b);printf("%d%%%d=%d\n",a,b,a%b);return 0;}7. 求两个变量的最小值输入:两个整型数输出:两个整型值中的最小值程序:#include<stdio.h>int main(){int a,b;scanf("%d%d",&a,&b);printf("min=%d\n",a<b?a:b);return 0;}8. 判断三角形的形状输入:三角型的3条边的长度(int型).输出:等边三角形:equilateral triangle等腰三角形:isoceles triangle不组成三角形:non-triangle一般三角形:triangle程序:#include<stdio.h>int main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){if (a==b&&b==c&&a==c)printf("equilateral triangle.\n");else if(a==b||a==c||b==c)printf("isoceles triangle.\n");elseprintf("triangle.\n");}elseprintf("non-triangle.\n");return 0;}9. 计较圆柱的正面积及体积输入:第一行输入圆柱的底面半径r 第二行输入圆柱的高 h输出:s=< 圆柱的正面积 >,v=< 圆柱的体积 >要求1. 所有变量都定义为双精度类型2. 结果精确到小数点后两位程序:#include<stdio.h>int main(){double r,h,s,v;scanf("%lf",&r);scanf("%lf",&h);s=2*PI*r*h;v=PI*r*r*h;printf("s=%.2f,v=%.2f\n",s,v);return 0;}10. 计较时钟的夹角布景:钟面上的时针和分针之间的夹角总是在0 ~180之间( 包含0 和180 ) .举例来说,在十二点的时候两针之间的夹角为 0 ,而在六点的时候夹角为180 ,在三点的时候为90 .本题要解决的是计较12:00 到11:59 之间任意一个时间的夹角.输入:每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 在区间 [0, 59] 上 ) .输出:对应每组测试数据,用经常使用格局显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位.输出格局如下所示.程序:#include<stdio.h>#include<math.h>int main(){int h,m;float d1,d2,d;scanf("%d%d",&h,&m);d1=30*(h+m/60.0);d2=m*360/60.0;d=fabs(d1-d2);if(d>180)d=360-d;printf("At %d:%d the angle is %.1f degrees.\n",h,m,d);return 0;}11. 找出最大素数素数是指一个只能被1和它自己整除的数,在数论中占有重要的研究地位,在当代密码学中也被普遍应用.输入:取值规模输出:该规模内的最大素数程序:#include<stdio.h>int main(){int n,i,j;scanf("%d",&n);for(i=n;i>=1;i--){ for(j=2;j<i;j++)if(i%j==0)break;if(j==i){printf("The max prime number is %d.\n",i);break;}}}12. 求最后3位数值输入:a 和 n 的值.假定 a<=150 .输出:求 a 的 n 次方的最后 3 位数.程序:#include<stdio.h>int main(){long int s=1;int a,n,i=1,t=1;scanf("%d%d",&a,&n);if(n==0)printf("The last 3 numbers is 1.\n");else{for(i=1;i<=n;i++){s=(s*a)%1000;}t=s%1000;if(t>=0&&t<10) printf("The last 3 numbers is 00%d.\n",t);if(t>=10&&t<100) printf("The last 3 numbers is 0%d.\n",t);if(t>=100&&t<1000) printf("The last 3 numbers is %d.\n",t);}return 0;}13. 贪吃的山公有一只山公,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个.第2天早上又将剩下的桃子吃掉一半,仍是觉得不过瘾,就又多吃了两个.以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一般加5个).到第n天早上再想吃的时候,就只剩下一个桃子了.输入:天数n输出:第一天的桃子个数程序:#include<stdio.h>int main(){int i,n,amount=1;scanf("%d",&n);for(i=n-1;i>=1;i--)amount=2*(amount+i);printf("The monkey got %d peachs in first day.\n",amount);}14. 玄色星期五在西方,星期五和数字13都代表着坏运气,两个不幸的个别最后结分解超等不幸的一天.所以,不管哪个月的十三日又恰逢星期五就叫“玄色星期五”.输入:年份输出:判断该年是否包含玄色星期五,如包含,给出具体日期程序:#include<stdio.h>int main(){int i,n=0,year,month[12]={0};int a[13]={0,13,44,73,104,134,165,195,226,257,287,318,348};int b[13]={0,13,44,72,103,133,164,194,225,256,286,317,347};scanf("%d",&year);for(i=1;i<13;i++){if ((year%4==0 && year%100!=0)||year%400==0){if((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+a[i])%7==5){n++;month[n]=i;}}elseif((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+b[i])%7==5){n++;month[n]=i;}}if(n==1){printf("There is %d Black Friday in year %d.\n",n,year);printf("It is:\n");printf("%d/%d/13\n",year,month[1]);}else{printf("There are %d Black Fridays in year %d.\n",n,year);printf("They are:\n");for (i=1;i<=n;i++){printf("%d/%d/13\n",year,month[i]);}}return 0;}15.你会输出一行星号?我们才开始上机,现在需要我们用最复杂得方法,在一行中输出N个星号.输入:N值输出:一行中N个星号.程序:#include<stdio.h>int main(){int i,n;scanf("%d",&n);for(i=1;i<=n;i++)printf("*");printf("\n");}16. 计较SUM的值已知公式:SUM = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n输入: n 输出:表达式 sum 的值.结果保存 6 位小数.程序:#include<stdio.h>int main(){int i,n;double sum=0;scanf("%d",&n);for (i=1;i<=n;i++)sum+=1.0/i;printf("sum=%.6lf\n",sum);return 0;}17. 寻找特殊整数请编写一个程序寻找一种特殊整数:一个n 位的正整数等于其列位数字的n次方之和.例如:407=4×4×4+0×0×0+7×7×7.所以407就是一个特殊数.输入:正整数的位数n(n<=6).输出:所有此n位特殊数.每个数占一行.若不存在合适条件的特殊数,则输出提示:“No output.”;若存在,则从小到大进行输出.说明:假定输入为4,在4位整数中,有3个4位的特殊数,则输出格局为(输出中的1111、2222和9999其实不是4位特殊数,只是格局样例):111122229999程序:#include<stdio.h>#include <math.h>int main(){int n,i,j,num,t,s=0,t1,flag=0;scanf("%d",&n);t=pow(10,n-1);for (i=t;i<t*10;i++){t1=i;s=0;for (j=1;t1!=0;j++)num=t1%10;s+=pow(num,n);t1=t1/10;}if(s==i){flag=1;printf("%d\n",i);}}if(flag==0)printf("No output.\n");return 0;}18. 空心的倒三角型输入:输入三角形的高度(h >= 0).输出:打印相应的空心倒三角形.图样拜见测试用例.程序:#include<stdio.h>#include <math.h>int main(){int i,j,h;scanf("%d",&h);for (i=1;i<=h;i++){for(j=1;j<i;j++)printf(" ");if(i==1||i==h){for(j=1;j<=2*(h-i)+1;j++)printf("*");printf("\n");}elseprintf("*");for(j=1;j<=2*(h-i)-1;j++)printf(" ");printf("*\n");}}return 0;}19. 空心字符菱形输入:菱型起始字母和菱形的高度.输出:参看测试用例,打印空心的由字符组成的菱形.程序:#include<stdio.h>#include <math.h>int main(){int i,j,h;char ch;scanf("%c%d",&ch,&h);for (i=1;i<=h;i++){for(j=1;j<=h-i;j++)printf(" ");printf("%c",ch+i-1);for(j=1;j<=2*i-3;j++)printf(" ");if(i==1){printf("\n");continue;}printf("%c\n",ch+i-1);}for (i=h+1;i<=2*h-1;i++){for(j=1;j<=i-h;j++)printf(" ");printf("%c",ch+(2*h-1)-i);for(j=1;j<=(2*h-1-i)*2-1;j++)printf(" ");if(i==2*h-1){printf("\n");continue;}printf("%c\n",ch+(2*h-1)-i);}return 0;}20. 空心梯形输入行数n 和首数字字符,在屏幕上输出由数字围起的高和下底宽度均 n 的空心梯形. 要求:输出的数字是循环的,即输出数字 9 后再输出的数字是 0.输入:行数n 和首字符输出:空心梯形程序:#include<stdio.h>#include <math.h>int main(){int i,j,n,f,t=0;scanf("%d%d",&n,&f);t=f;for(j=1;j<=3*n-2;j++){if(j==3*n-2)printf("%d",t);elseprintf("%d ",t);if(j<(3*n-1)/2){if(t==9) t=0;elset++;}else if(j==(3*n-1)/2&&n%2==0) continue;else{if(t==0) t=9;elset--;}}printf("\n");t=f;for (i=2;i<=n;i++){for (j=1;j<=2*(i-1);j++)printf(" ");if(i==n){for (j=1;j<=(n+1)/2;j++){if(t==9){t=0;printf("%d ",t);}elseprintf("%d ",++t);}for (j=1;j<=n/2;j++){if(t==0&&n%2!=0)t=9;else if(j==1&&n%2==0){if(j==n/2)printf("%d\n",t);elseprintf("%d ",t);continue;}elset--;if(j==n/2)printf("%d\n",t);elseprintf("%d ",t);}}else{if(t==9){printf("0");for(j=1;j<=6*n-4*i-3;j++)printf(" ");printf("0\n");t=0;}else{t++;printf("%d",t);for(j=1;j<=6*n-4*i-3;j++)printf(" ");printf("%d\n",t);}}}。

北京理工大学C语言网络教室 难题

北京理工大学C语言网络教室 难题

16.对于下述定义,不正确的叙述是(B ).
union data
{int i;
char c;
float f;
}a,b;
A、变量a的地址和它的各成员地址都是相同的
B、可以在定义类型的同时定义变量a,并对a的任意成员初始化
C、变量a所占内存的长度等于成员f的长度
D、如果有定义语句union data a={6};则对变量a的初始化是正确的
26. 若定义了int x;则将x强制转化成双精度类型应该写成
选择一项:
A. double(x)
B. (double) x
C. x (double)
D. (x) double
反馈
正确答案是:(double) x
. 下列常数中不能作为C 的常量的是
选择一项:
A. 0582
B. 0xA5
C. 2.5e-2
D. 3e2
反馈
正确答案是:0582
if 控制表达式只有其值为_____时表示逻辑真,其值为_____表示逻辑假。

选择一项:
A. -1, 0
B. TRUE, FALSE
C. 1, 0
D. 非0, 0
正确答案是:非0, 0。

C语言程序设计下mooc答案

C语言程序设计下mooc答案

—06.30北京理工大学M O O C C语言程序设计(下)网上作业答案第一周编程作业1、求最大公约数和最小公倍数(15分)题目内容:编写程序,在主函数中输入两个正整数 a,b,调用两个函数 fun1() 和 fun2(),分别求 a 和 b 的最大公约数和最小公倍数,在主函数中输出结果。

输入格式:两个正整数输出格式:最大公约数和最小公倍数输入样例:12,40[回车]输出样例:最大公约数:4[回车]最小公倍数:120[回车]时间限制:500ms内存限制:32000kbCode:#include <stdio.h>int fun1(int m,int n){int r;r=m%n;return r==0?n:fun1(n,r);}int fun2(int m,int n){int t;t=m*n/fun1(m,n);return t;}int main(){ int t,m,n;scanf("%d,%d",&m,&n);if(m<n){t=m;m=n;n=t;}printf("最大公约数:%d\n",fun1(m,n));printf("最小公倍数:%d\n",fun2(m,n));return 0;}2、排序并插入(15分)题目内容:编写程序,在主函数中定义一个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出。

输入格式:9个整数和1个整数输出格式:10个整数输入样例:2,3,1,5,6,76,89,31,90[回车]7[回车]输出样例:1,2,3,5,6,7,31,76,89,90[回车]时间限制:500ms内存限制:32000kb Code:#include <stdio.h>int main(){int t,j,i,n[10];for(i=0; i<9; i++){scanf("%d", &n[i]);if(i<8) scanf(",");}scanf("%d",&n[9]) ;for(i=0;i<9;i++){for(j=0;j<= 8-i;j++){if(n[j] > n[j+1]){t = n[j];n[j] = n[j+1];n[j+1] = t;}}}for(i=0;i<10;i++){printf("%d",n[i]);if(i<9) printf(",");}return 0;}第二周编程作业1、最大公约数(15分)题目内容:输入两个整数m,n,用递归算法实现计算两个数的最大公约数。

北理工C语言超全上机答案(非信息类)

北理工C语言超全上机答案(非信息类)

上机考试时间为60分钟,上机考题为3道。

第一题为简单的图形打印;第二题为简单数值计算(一般用穷举法就可以解决),第三题为相对复杂的数组/字符串处理。

上机考题选自以下题目。

#include <stdio.h>int main(){int i,j,n;scanf("%d",&n);外层i对行循环,i=n时先输出空格的行循环为for(i=1;i<=n;i++)若垂直反转则是 for(i=n;i>=1;i--)如:上下三角形,对称梯形,对称平行四边形。

内层 jk…对列循环。

先打印空格或者先打印星号,找规律换行在内层循环中【1.1】编程,输入n,输出如下例(n=6)所示的图形:* * * * * ** * * * * ** * * * * ** * * * * ** * * * * ** * * * * *程序:#include <stdio.h>int main(){int i,j,n;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n;j++) printf("*");printf("\n");}system("pause");}【1.2】编程,输入n,输出如下例(n=6)所示的图形:* * * * * ** * * * * ** * * * * ** * * * * ** * * * * ** * * * * *程序:#include <stdio.h>int main(){int i,j,n;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf(" ");for(j=1;j<=n;j++)printf("*");printf("\n");}system("pause");}【1.3】编程,输入n,输出如下例(n=6)所示的高为n的等腰三角形。

北理工《C语言程序设计》在线作业_2

北理工《C语言程序设计》在线作业_2

北理工《C语言程序设计》在线作业试卷总分:100 测试时间:-- 试卷得分:100一、单选题(共40 道试题,共80 分。

)得分:801. 下列程序执行的结果是()。

A=1;b=2;c=3;While(b<a<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);A. 1,2,0B. 2,1,0C. 1,2,1D. 2,1,1正确答案:B 满分:2 分得分:22. 已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为()。

A. 0B. 1C. 4D. 5正确答案:B 满分:2 分得分:23. 若有char a[80],b[80];则正确的是()。

A. puts(a,b);B. printf(“%s,%s”a[ ],b[ ]);C. putchar(a,b);D. puts(a);puts(b);正确答案:D 满分:2 分得分:24. 在以下对C语言的描述中,正确的是()。

A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参B. C语言函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C语言程序中有定义关系的所有函数都必须放在同一源文件中正确答案:A 满分:2 分得分:25. C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是()。

A. 地址传递B. 值传递C. 由实参传给形参,并由形参传回给实参D. 由用户指定传递方式正确答案:B 满分:2 分得分:26. 执行以下程序段后,c3的值是()。

int c1=1,c2=2,c3; c3=c1/c2;A. 0B. 1/2C. 0.5D. 1正确答案:D 满分:2 分得分:27. C语言结构类型变量在程序执行期间()。

A. 所有成员一直驻留在内存中B. 只有一个成员驻留在内存中C. 部分成员驻留在内存中。

北理工《C语言程序设计》在线作业含正确答案

北理工《C语言程序设计》在线作业含正确答案

北理工《C语言程序设计》在线作业含正确答案北理工《C语言程序设计》在线作业含正确答案一、单选题共40题,80分1、在以下对C语言的描述中,正确的是()。

A在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参BC语言函数既可以嵌套定义又可以递归调用C函数必须有返回值,否则不能使用函数DC语言程序中有定义关系的所有函数都必须放在同一源文件中2、若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是()。

A、scanf("%f",&c);Bscanf("8.4f",&c);Cscanf("%6.2f",&c);Dscanf("8f",&c);3、以下()不是C语言的特点。

A语言的表达能力B语言定义严格C数据结构系统化D控制流程结构化4、C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是()。

A编辑和编译B编译和连接C连接和运行D编辑和运行5、以下程序的输出是( )。

main(){char a[2][5]={“6937”,”8254”};inti,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);}A、6385B69825C63825D6938256、已知:struct{int i; char c; float a; }test; 则sizeof(test)的值是()。

A4B5C6D772分已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a 的值为()。

A1B0C4D582分为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时()。

北理工C语言学习知识编程网上课后复习规范标准答案

北理工C语言学习知识编程网上课后复习规范标准答案

H1:计算通用产品代码(UPC)的校验位(选作)成绩: 5 / 折扣: 0.8背景许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。

这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。

超市可以通过扫描产品上的条码来确定支付此项商品的费用。

每一个条码由十二位数字构成,通常这些数字会显示在条码下面。

例如,包装为26盎司的Morton牌碘化盐所用条码下的数字是:0 24600 01003 0第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券)。

接下来的一组五位数字用来识别生产商。

而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。

最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。

如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码。

下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。

然后把第二位、第四位、第六位、第八位和第十位数字相加。

接着把第一次加法结果乘以3后再加上第二次加法的结果。

随后,再把上述结果减去1。

减法后的结果除以10取余数。

最后,用9减去上一步骤中得到的余数。

现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。

把第一组加法值乘以3后再加上第二组加法值得到的结果是30。

再减去1,结果变为29。

再把这个值除以10取余数为9。

9在减去余数结果9,最终值为0。

输入每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。

输出UPC的校验位提示本题有隐藏测试用例。

如果想多找不同的实例验证你的算法,可以拿身边书或食品背后的条码测试一下。

1.#include<stdio.h>2.main()3.{4.int a,b,c;5.int b1,b2,b3,b4,b5;6.int c1,c2,c3,c4,c5;7.int d1,d2,d3,d4;8.scanf("%d\n%d\n%d",&a,&b,&c);9.b1=b/10000,b2=(b/1000)%10,b3=(b/100)%10,b4=(b/10)%10,b5=b%10;10.c1=c/10000,c2=(c/1000)%10,c3=(c/100)%10,c4=(c/10)%10,c5=c%10;11.d1=a+b2+b4+c1+c3+c5,d2=b1+b3+b5+c2+c4,d3=(3*d1+d2-1)%10,d4=9-d3;12.p rintf("%d\n",d4);13.}H2:数制转换(选作)成绩: 5 / 折扣: 0.8我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。

北理工《C语言程序设计》期末考试精选题汇总【含答案解析】69

北理工《C语言程序设计》期末考试精选题汇总【含答案解析】69

《C语言程序设计》复习提纲第1章程序设计基础知识1.1 程序与程序语言1.2 算法和算法的表示1.3 结构化程序设计方法第2章 C 语言概述2.3 C 语言的基本组成2.4 C 程序的上机执行过程第3章数据类型与运算规则3.1 数据与数据类型3.2 C 语言的基本数据类型及其表示3.3 算术运算与赋值运算3.4 关系运算与逻辑运算3.5 位运算3.6 其它运算3.7 混合运算及数据类型转换第4章顺序结构的程序设计4.1 C 语句4.2 赋值语句4.3 数据输入4.4 数据输入第5章选择结构的程序设计5.1 用 if 语句设计选择结构程序5.2 用 switch 语句设计多分支结构程序第6章循环结构的程序设计6.1 循环的基本概念6.2 用 while 语句设计循环结构程序6.3 用 do-while 语句设计循环结构程序6.4 用 for 语句设计循环结构程序6.5 break 语句与 continue 语句6.6 几种循环语句的比较6.7 循环的嵌套第7章数组7.1 数组的基本概念7.2 一维数组7.3 一维字符数组7.4 字符串处理函数7.5 二维数组7.6 二维字符数组第8章函数8.1 C 程序的结构8.2 函数的定义8.3 函数的调用与返回8.4 在函数之间传递数据8.5 变量的存储属性8.6 函数的递归调用8.7 库函数简介第9章指针9.1 指针及其引用9.2 指针与函数9.3 数组与指针9.4 指针与字符串9.5 指针数组第10章结构、联合与枚举类型10.1 结构类型10.2 结构数组10.3 结构指针10.5 联合类型10.6 枚举类型第11章文件11.1 文件概念11.2 文件处理。

北理工《C语言程序设计》在线作业含正确答案

北理工《C语言程序设计》在线作业含正确答案
A1,2,0
B2,1,0
C1,2,1
D2,1,1
18、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。
A地址传递
B值传递
C由实参传给形参,并由形参传回给实参
D由用户指定传递方式
19、在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。
A、6385
B69825
C63825
D693825
6、已知:struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。
A4
B5
C6
D7
7
2分
已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。
A1
B0
C4
C数据结构系统化
D控制流程结构化
4、C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。
A编辑和编译
B编译和连接
C连接和运行
D编辑和运行
5、以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);}
Dscanf("%d%d%d",&a,&b,&c);

北理工《网络编程基础》题库复习资料

北理工《网络编程基础》题库复习资料

[题型]单选题[章节][类别]考试[题干]URL是()。

[选项]A. 超文本传输协议B. 统一资源定位器C. 超文本标记语言D. 浏览器[答案]B[解析][难度]易[分数]4[子题][子题型][题干][选项][答案][解析][分数][题型]单选题[章节][类别]考试[题干]一个正确的URL是()。

[选项]A. http///temp/zzz.htmB. http://temp/zzz.htmC. http:\\/temp/zzz.htmD. /temp/zzz.htm [答案]D[解析][难度]易[分数]4[子题][子题型][题干][选项][答案][解析][分数][题型]单选题[章节][类别]考试[题干]以下正确的说法是()。

[选项]A. HTML的标记用%括起来B. HTML标记名和属性之间用空格分开C. 在HTML中,一个标记只有一个属性D. HTML文档分头部、主体和尾部三部分[答案]B[解析][难度]较易[分数]4[子题][子题型][题干][选项][答案][解析][分数][题型]单选题[章节][类别]考试[题干]设置网页背景图案应该使用()。

[选项]A. background属性B. bgcolor属性C. link属性D. color属性[答案]A[解析][难度]较易[分数]4[子题][子题型][题干][选项][答案][解析][分数][题型]单选题[章节][类别]考试[题干]能在网页中定义水平线的标记是()。

mooc北京理工大学c语言答案

mooc北京理工大学c语言答案
for(m=1;s<n;m++) s=s+m;
printf("%d\n",m-1);return 0;}
第六周
for(i=1,s=0;(s=s+i*i)<=1000;n=i++)
循环执行4次
5
x=4
1.600000
① m=n ② m>0 ③ m=m/10
{
for(x = 0; x < n; x++)
{
scanf("%d",&i[y][x]);
}
}
//将每行的最大值放入每行的最后;
for(y = 0; y < m; y++)
{
temp = 0;
for(x = 0; x < n; x++)
{
printf("%d ",k);m+=1;}
printf("\ncounter=%d\n",m); m=0;}}}
(3)
#include<stdio.h>
int main(){int m,n,s=0;scanf("%d",&n);
else printf("%d\n",sum);
}
return 0;
}
第七周
(1)
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,n;

北京理工大学《C语言程序设计》期末试题

北京理工大学《C语言程序设计》期末试题

参数说明:array[]为整型数组,n 为项数( n > 0);返回值是数组元素的最大值。 例如输入:5↵ 1 5 6 4 2↵ , 输出:6↵ 注意:仅提交自编的 max 函数,不提交 main 函数。
预设代码
a3_3.c
view plaincopy to clipboardprint?

64M
0
三、编程题_2 (10 分)
输入行数 n 值和数字,输出由数字从左往右、从上往下依次递增围起的正方形。 数字输出是循环的,即输出数字9后再输出的是数字0。 例:输入:4 8↙ 屏幕输出(表示为一个空格 ) : 890 1↙ 90↙ 01 123 4 测试输入 期待的输出
64M
0
隐藏用例 4 1 Wearestudents↵ 2 13↵
Wearestudent 1秒 sBIT↵
4
64M
0
随米云打印
网址:sui.me
3 BIT↵
以文本方式显示
1 Wearestudents↵ 隐藏用例 5 2 0↵ 3 BIT↵
以文本方式显示
BITWearestud 1秒 ents↵
2
随米云打印
网址:sui.me
【2】处应填入的是:______。 A) f(n-1)-n B)f(n-1)+n 答案:A 【3】应填入的是:______。 A) f(n-1)-n B)f(n-1)+n 答案:B
C) f(n-1)+1
D)-n;
C) Hale Waihona Puke (n-1)+1D)n;
2、要对全班 100 个同学的成绩,按照从高到低的顺序进行排序,以下程序是排序函数, 其功能是将成绩数组 score 从大到小排序。请完善函数中的语句。 void sort(int scores[],int n ) { int i,j,temp; for(i=【4】;i<=n-1;i++) for(j=0;j<【5】;j++) if(【6】) { temp=scores[j]; scores[j]=scores[j+1] ; scores[j+1]=temp; } for(i=0;i<N;i++) printf("%d\n",scores[i]); } 为保证程序循环次数最少, 【4】处应填入:______。 A) 0 B)1 C) -1 D)N/2 答案:B 为保证程序循环次数最少, 【5】处应填入:______。 A) N B)N-1 C) N-i-1 D)N-i; 答案:D 【6】处应填入:______。 A) scores[j]<scores[j+1] B)scores[j]>scores[j+1] C) scores[j]<scores[j-1] D)scores[j]>scores[j-1] 答案:A 3、根据程序的初始值,打印选中学生的姓名与年龄,补充部分程序,并选择程序的运 行结果: #include <stdio.h> struct student{ int id; char name[12]; int age; }; void print(struct student *p) { printf("name=%s\n",(*p).name);/*【7】*/ printf("age=%d\n",【8】);/*打印输出年龄*/

(完整)北理工C语言编程网上作业答案

(完整)北理工C语言编程网上作业答案

H1:计算通用产品代码(UPC)的校验位(选作)成绩: 5 / 折扣: 0.8背景许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。

这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。

超市可以通过扫描产品上的条码来确定支付此项商品的费用。

每一个条码由十二位数字构成,通常这些数字会显示在条码下面。

例如,包装为26盎司的Morton 牌碘化盐所用条码下的数字是:0 24600 01003 0第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券).接下来的一组五位数字用来识别生产商。

而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。

最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。

如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码.下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。

然后把第二位、第四位、第六位、第八位和第十位数字相加.接着把第一次加法结果乘以3后再加上第二次加法的结果。

随后,再把上述结果减去1。

减法后的结果除以10取余数.最后,用9减去上一步骤中得到的余数。

现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。

把第一组加法值乘以3后再加上第二组加法值得到的结果是30。

再减去1,结果变为29。

再把这个值除以10取余数为9。

9在减去余数结果9,最终值为0。

输入每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。

输出UPC的校验位提示本题有隐藏测试用例。

如果想多找不同的实例验证你的算法,可以拿身边书或食品背后的条码测试一下。

1.#include〈stdio。

北京理工大学C语言教材习题答案

北京理工大学C语言教材习题答案

教材习题答案 习题单项选择题1. C2. B3. B4. C5. D6. A7. C8. A填空题1. 判断条件2. 面向过程编程3. 结构化4. 程序5. 面向对象的程序设计语言6. 基本功能操作、控制结构7. 有穷性8. 直到型循环结构9. 算法 10.可读性11.模块化 12.对问题的分解和模块的划分 习题一 、单项选择题1. B2. D3. C4. B5. A6. A7. B8.C 二、填空题1. 主2. C 编译系统3. 函数、函数4. 输入输出5.头6. .OBJ7. 库函数8. 文本 习题一、单项选择题1. D2. B3. A4. C5. C6. D7. D8. B9. B 10.C 11.A 12.D13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D, A 25.D 26.A 27.B 二、填空题1. 补码2. 30810-±(~)30810,15—6 2. 30810-±(~)30810,15—6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或b(题目有错,小括号后面的c<=98改成(c>=97&&c<=98)就可以得到所给的答案了)7. 1 8. 65,89 习题一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B7. A 8. C9. B10.B二、填空题 1. 一 ; 2. 5.1690003. (1)-200 2500 (2)i=-200,j=2500 (3)2500200=-=j i4. a=98,b=765.000000,c=4321.0000005.100 25.81 1.89234 ,100 25.81按Enter 键)1.89234,100(按Tab 键)25.81(按Tab 键)1.892346. 0,0,37. 38. scanf(" %lf %lf %lf",&a,&b,&c);9. 13 13.000000 13.00000010.b=a;a=c;c=b;或a=a+b;c=c-b;(对于本题来说,后者的答案更好,不仅使a 与c 的值进行交换而且能保持中间变量b 的值不发生改变)习题一、单项选择题 1. D2. C3. B4. B5. D6. A7. B 8. D二、填空题1. 非零,零2. k= =0 2. k= =03.if(abs(x)>4) Printf(“%d ”,x); elseprintf(“error!”);4. if(x%2==1&&( (x>=1)&&(x<=10)||(x>=200&&x<=210))printf("%d",x);5. k=1(原题最后一行漏了个d,如果认为原题正确,则输出k=%。

北理工C语言答案

北理工C语言答案

北理工C语言答案1-3.磨磨你的砍柴刀:判断三角形的形状成绩: 10 / 折扣: 0.8输入三角型的三条边,判断三角形的形状。

假设输入的三边边长均 >0 。

输入:三角型的 3 条边的长度( int 型)。

输出:三角形形状等边三角形: equilateral triangle. 等腰三角形: isoceles triangle. 不构成三角形: non-triangle. 一般三角形: triangle.友情提示:这个题有点复杂吧,因为用到了分支语句,你参考一下教材P98的程序。

要把a、b、c三条边长度的可能情况都想到。

如果程序运行出现了问题,你尝试用开发工具的单步执行调试工具,检查问题出在哪一句。

什么叫单步执行?老师在课上告诉你们了吗?没讲过?那就读读网络教室的那些文章吧!测试输入期待的输出时间限制内存限制额外进程64M 测试用例 1以文本方式显示 1. 2 2 2?以文本方式显示 1. equilateral triangle.? 1秒64M 测试用例 2以文本方式显示 1. 3 2 2?以文本方式显示 1. isoceles triangle.? 1秒#include main() {int a,b,c;scanf(\ if(a+b>c&&a+c>b&&b+c>a) if(a==b&&a==c)printf(\ else if(a==b||b==c||a==c) printf(\ elseprintf(\ elseprintf(\ getch(); }2-1. 整型数的表示范围编写一个循环程序,输入 N 值,输出 N 的阶乘。

关于循环程序怎么编写,可以参考教材第六章P123的内容。

注意整型数的表示范围,如果当输入的 N 比较大时,例如 N 等于 20 时,输出怎么是负数了?自己想明白吧!1. #include2. main()3. {4. int i,n;测试输入期待的输出时间限制内存限制额外进程测试用例 1 64M 以文本方式显示 1. 5?以文本方式显示 1. 120? 1秒测试用例 4 64M 以文本方式显示 1. 12?以文本方式显示1. 479001600? 1秒测试用例 2 64M 以文本方式显示 1. 20?以文本方式显示1. N is too big!? 1秒5. long m;6. scanf(\7. i=1;8. m=1;9. do{m=m*i; 10. i=i+1;11. }while(i<=n); 12. if(m>=0)13. printf(\14. else15. printf(\16. }2-2. 求正弦函数值成绩: 10 / 折扣: 0.8已知求正弦 sin(x) 的近似值的多项式公式为:sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …编写程序,要求输入 x (单位是弧度)和ε,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的ε。

北京理工大学网络教室C语言编程题库及答案绝对

北京理工大学网络教室C语言编程题库及答案绝对

1.Hello world.输入:无输出:Hello world.程序:#include<>int main(){printf("Hello world.\n");return 0;}2.Welcome to Beijing.程序:#include <>int main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0;}3. 求A+B输入:整数1 整数2输出:整数1+整数2=和程序:#include<>int main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d+%d=%d\n",a,b,a+b);return 0;}4. 求 x 的 3次方输入:一个整数。

输出:该整数的 3 次方值。

程序:#include<>int main(){int x;scanf("%d",&x);printf("%d\n",x*x*x);return 0;}5. 学习打印你的第一个图形编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。

程序:#include<>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}6. 一年级的算术题输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444 输出:分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。

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

1、Hello world、输入:无输出:Hello world、程序:#include<stdio、h>int main(){printf("Hello world、\n");return 0;}2、Welcome to Beijing、程序:#include <stdio、h>int main(){printf("Welcome\n");printf("to\n");printf("Beijing、\n");return 0;}3、求A+B输入:整数1 整数2输出:整数1+整数2=与程序:#include<stdio、h>int main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d+%d=%d\n",a,b,a+b);return 0;}4、求x 的3次方输入:一个整数。

输出:该整数的 3 次方值。

程序:#include<stdio、h>int main(){int x;scanf("%d",&x);printf("%d\n",x*x*x);return 0;}5、学习打印您的第一个图形编写一个小程序,要求输出的就是4 行由*号组成的等腰三角形。

程序:#include<stdio、h>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}6、一年级的算术题输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444 输出:分别输出按照整型数据进行+、-、*、/、* 之后的运行结果。

程序:#include<stdio、h>int main(){int a,b;scanf("%d %d",&a,&b);printf("%d+%d=%d\n",a,b,a+b);printf("%d-%d=%d\n",a,b,a-b);printf("%d*%d=%d\n",a,b,a*b);printf("%d/%d=%d\n",a,b,a/b);printf("%d%%%d=%d\n",a,b,a%b);return 0;}7、求两个变量的最小值输入:两个整型数输出:两个整型值中的最小值程序:#include<stdio、h>int main(){int a,b;scanf("%d%d",&a,&b);printf("min=%d\n",a<b?a:b);return 0;}8、判断三角形的形状输入:三角型的3条边的长度(int型)。

输出:等边三角形:equilateral triangle等腰三角形:isoceles triangle不构成三角形:non-triangle一般三角形:triangle程序:#include<stdio、h>int main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){if (a==b&&b==c&&a==c)printf("equilateral triangle、\n");else if(a==b||a==c||b==c)printf("isoceles triangle、\n");elseprintf("triangle、\n");}elseprintf("non-triangle、\n");return 0;}9、计算圆柱的侧面积及体积输入:第一行输入圆柱的底面半径r 第二行输入圆柱的高h输出:s=< 圆柱的侧面积>,v=< 圆柱的体积>要求1、所有变量都定义为双精度类型2、结果精确到小数点后两位程序:#include<stdio、h>#define PI 3、1415926int main(){double r,h,s,v;scanf("%lf",&r);scanf("%lf",&h);s=2*PI*r*h;v=PI*r*r*h;printf("s=%、2f,v=%、2f\n",s,v);return 0;}10、计算时钟的夹角背景:钟面上的时针与分针之间的夹角总就是在0 ~180之间( 包括0 与180 ) 。

举例来说,在十二点的时候两针之间的夹角为0 ,而在六点的时候夹角为180 ,在三点的时候为90 。

本题要解决的就是计算12:00 到11:59 之间任意一个时间的夹角。

输入:每组测试数据包含两个数字:第一个数字代表小时( 大于0 小于等于12) ,第二个数字代表分( 在区间[0, 59] 上) 。

输出:对应每组测试数据,用常用格式显示时间以及这个时候时针与分针间的最小夹角,精确到小数点后一位。

输出格式如下所示。

程序:#include<stdio、h>#include<math、h>int main(){int h,m;float d1,d2,d;scanf("%d%d",&h,&m);d1=30*(h+m/60、0);d2=m*360/60、0;d=fabs(d1-d2);if(d>180)d=360-d;printf("At %d:%d the angle is %、1f degrees、\n",h,m,d);return 0;}11、找出最大素数素数就是指一个只能被1与它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。

输入:取值范围输出:该范围内的最大素数程序:#include<stdio、h>int main(){int n,i,j;scanf("%d",&n);for(i=n;i>=1;i--){ for(j=2;j<i;j++)if(i%j==0)break;if(j==i){printf("The max prime number is %d、\n",i);break;}}}12、求最后3位数值输入:a 与n 的值。

假设a<=150 。

输出:求a 的n 次方的最后3 位数。

程序:#include<stdio、h>int main(){long int s=1;int a,n,i=1,t=1;scanf("%d%d",&a,&n);if(n==0)printf("The last 3 numbers is 1、\n");else{for(i=1;i<=n;i++){s=(s*a)%1000;}t=s%1000;if(t>=0&&t<10) printf("The last 3 numbers is 00%d、\n",t);if(t>=10&&t<100) printf("The last 3 numbers is 0%d、\n",t);if(t>=100&&t<1000) printf("The last 3 numbers is %d、\n",t);}return 0;13、贪吃的猴子有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。

第2天早上又将剩下的桃子吃掉一半,还就是觉得不过瘾,就又多吃了两个。

以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一般加5个)。

到第n天早上再想吃的时候,就只剩下一个桃子了。

输入:天数n输出:第一天的桃子个数程序:#include<stdio、h>int main(){int i,n,amount=1;scanf("%d",&n);for(i=n-1;i>=1;i--)amount=2*(amount+i);printf("The monkey got %d peachs in first day、\n",amount);}14、黑色星期五在西方,星期五与数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。

所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。

输入:年份输出:判断该年就是否包含黑色星期五,如包含,给出具体日期程序:#include<stdio、h>int main()int i,n=0,year,month[12]={0};int a[13]={0,13,44,73,104,134,165,195,226,257,287,318,348};int b[13]={0,13,44,72,103,133,164,194,225,256,286,317,347};scanf("%d",&year);for(i=1;i<13;i++){if ((year%4==0 && year%100!=0)||year%400==0){if((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+a[i])%7==5){n++;month[n]=i;}}elseif((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+b[i])%7==5){n++;month[n]=i;}}if(n==1){printf("There is %d Black Friday in year %d、\n",n,year);printf("It is:\n");printf("%d/%d/13\n",year,month[1]);}else{printf("There are %d Black Fridays in year %d、\n",n,year);printf("They are:\n");for (i=1;i<=n;i++){printf("%d/%d/13\n",year,month[i]);}}return 0;}15、您会输出一行星号?我们才开始上机,现在需要我们用最简单得办法,在一行中输出N个星号。

相关文档
最新文档