北理工C语言编程网上作业答案

合集下载

C语言程序设计教材(北理工)习题参考答案(不排除少数错误)

C语言程序设计教材(北理工)习题参考答案(不排除少数错误)

第一章:程序设计基础知识一、单项选择题1.C2.B3.B4.C5.D6.A7.C8.A二、填空题1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言6.基本功能操作、控制结构7.有穷性8.直到型循环结构9.算法10.可读性11.模块化12.对问题的分解和模块的划分三、应用题1、用如何一种熟悉的方法描述求 N 个数中最小数的算法。

2、用枚举法设计例1-4中百钱买百鸡问题的算法,并用流程图表示;3 分别用递推和递规两种算法计算斐波那契数列:f(n+2)=f(n+1)+f(n),f(1)=f(0)=1的前30项,并用流程图表示a )递推 b)递规递推公式:f(n)=f(n-1)+f(n-2) 递规公式:f(n)=f(n-1)+f(n-2) f(1)=f(0)=1b )递推 b)递规4:一般迭代法:迭代公式:x1=1-x03,收敛条件:|x0/x1|<=1e-5牛顿迭代法:f(x)=x 3-x-1,f ’(x)=3x 2-1 迭代公式:x1=x0-f(x0)/f ’(x0) 收敛条件:|x0/x1|<=1e-55:分子a,分母b ,下一项分子c ,某项t=a/b,和s 。

第一项:a=2,b=1,c=a,t=a/b,s=t第i 项:c=a+b,b=a,a=c,t=a/b,s=s+t1-26:6第二章:C程序的基本结构一、单项选择题1.B2.D3.C4.B5.A6.A7.B8.C二、填空题1.主函数2.编译系统3.函数函数4.输入输出5.头文件6..obj7.库函数8.文本三、应用题5.标识符:au_to, _auto,file,m_i_n,hello,ABC,SIN90,x1234,until,cos2x,s_3关键字:sizeof非关键字,非标识符:3id,-min,call..menu,n*m,x.y,1234,1234hello,s+3第三章习题参考答案一、单项选择题1.D2.B3.A4.C5.C6.D7.B8.D9.B 10.C11.A 12.D13.C14.C15.C16.B17.B 18.C 19.C 20.D21.A 22.D 23.D 24.D,A 25.D26.A二、填空题1.补码2.±(10-308~ 10308) 15 ~ 16 位3.实型4.单目从右向左5.函数调用6.65 ,89三、应用题1.10 92.111213.区别是:求负:单目,右结合减法:双目,左结合取址:单目,右结合按位与:双目,左结合第四章习题参考答案一、单项选择题1.D2.C3.D4.A5. D6.B7.A8.C9.B 10.B二、填空题1.一条;2.5.1690003.(1)-200 2500(2)i=-200,j=2500(3)i=-200j=25004.a=98, b=765.000000, c=4321.0000005.三种可能的输入是:(1)(1)100<回车> 25.81<回车> 1.89234<回车>(2)(2)100<空格> 25.81<空格> 1.89234<回车>(3)(3)100<TAB> 25.81<TAB> 1.89234<回车> 6.0,0,37.38.输入语句的格式是:scanf("%lf%lf%lf",&a,&b,&c); 9.13 13.000000 13.00000010. 两种方法:(1) 增加一个临时变量t。

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语言程序设计》在线作业含正确答案

北理工《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);

北理乐学C语言答案,最新

北理乐学C语言答案,最新

7.入门计算圆柱的侧面积及体积#include<stdio.h>void main(){double a,b;scanf("%lf\n%lf",&a,&b);printf("s=%.2lf,v=%.2lf\n",2*3.14*a*b,3.14*a*a*b);}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. 一年级的算术题输入:接受两个整数,每个整数之间使用空格分隔。

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

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

北理工《C语言程序设计》在线作业试卷总分:100 得分:100一、单选题(共40 道试题,共80 分)1.下面程序的输出结果是()。

main(){int i,j;float s;for(i=6;i>4;i--){s=0.0; for(j=i;j>3;j--)s=s+i*j; }printf(“%f ”,s);}A.135.000000B.90.000000C.45.000000D.60.000000答案:C2.在以下对C语言的描述中,正确的是()。

A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参B.C语言函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C语言程序中有定义关系的所有函数都必须放在同一源文件中答案:A3.以下()不是C语言的特点。

A.语言的表达能力B.语言定义严格C.数据结构系统化D.控制流程结构化答案:B4.已知:char s[10],*p=s,则在下列语句中,错误的语句是()。

A.p=s+5;B.s=p+s;C.s[2]=p[4];D.*p=s[0];答案:B5.以下正确的数组定义语句是()。

A.int y[1][4]={1,2,3,4,5};B.float x[3][ ]={{1},{2},{3}};C.long s[2][3]={{1},{1,2},{1,2,3}};D.double t[ ][3]={0};答案:D6.已知:int a,*p=&a; 则下列函数调用中错误的是()A.scanf("%d",&a);B.scanf("%d",p);C.printf("%d",a);D.printf("%d",p);。

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语言作业及答案1

北理C语言作业及答案1

8. 判断三角形的形状成绩: 10 / 折扣: 0.8要求:输入三角型的三条边,判断三角形的形状。

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

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

输出:等边三角形:equilateral triangle等腰三角形:isoceles triangle不构成三角形:non-triangle一般三角形:triangle测试输入期待的输出10. 计算时钟的夹角成绩: 5 / 折扣: 0.8背景:钟面上的时针和分针之间的夹角总是在0 ~180之间( 包括0 和180 ) 。

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

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

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

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

输出格式如下所示。

测试输入期待的输出程#include"stdio.h"main(){int a,b;float c;scanf("%d %d",&a,&b);c=(b/60.0)*360-(30*(a%12)+(b/60.0)*30);if (c<0)c=-c;if (c>180.0)c=360.0-c;printf("At %d:%.2d the angle is %.1f degrees.\n",a,b,c);return 0;}11. 找出最大素数成绩: 5 / 折扣: 0.8素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。

输入:取值范围输出:该范围内的最大素数期待的输出#include<stdio.h>void main(){int a,k,i,n;scanf("%d",&a);for(k=a;k>2;k--){{for(n=1,i=2;i<k;i++)if(k%i==0){n=0;break;}}if(n==1){printf("The max prime number is %d.\n",k);break;}}}12. 求最后3位数值成绩: 5 / 折扣: 0.8中学时我们就会求一个数的n 次方了,但计算机不会,请你来编写一个程序吧。

2020年北理工线上作业试题答案,全科目

2020年北理工线上作业试题答案,全科目
1
1

若有以下定义和语句:
struct student
{int num,age;
};
struct student stu[3]={{1001,20},{1001,19},{1003,21}};
struct student *p=stu;
则以下错误的引用是( )。
单选题
10.0
4
1
×
下列对字符串的定义中错误的是( )。
1 2 3 4

大学生接触的社交场合有( )。
多选题
13.0
1 2 3 4
1 2 3 4

讲究公德不仅是每一名公民的天职,而且也是社会稳定而又有秩序地发展的重要保证。( )
判断题
9.0
正确
正确

在介绍自己时应该是材料越充分、越详尽越好。( )
判断题
9.0
错误
错误

在不同时代里,社会公德的具体内容往往是( )。
单选题
10.0
2
2

指出程序结束时,j、i、k的值分别是( )。
main()
{int a=10,b=5,c=5,d=5,i=0,j=0,k=0;
for(;a>b;++b)i++;
while(a> ++c)j++;
do k++;while(a>d++);
}
单选题
10.0
2
2

不能正确为字符数组输入数据的是( )。
单选题
10.0
3
3

C语言结构类型变量在程序执行期间( )。

(完整)北理工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语言

if(x<9) b=x++;c=y;
2

本次作业总分值:100.0 1 题目总数:10
得分:10.0 正确率:10.0%
正确的题数:
在线作业自动判卷
题目
类型
正确答 你的答
分值


批改
在 C 语言中,使用函数 strcpy 时可以将‘ 判断题 10.0 正确 正确 √
在 C 语言中,for 语句后的三个表达式必须都出 现。()
判断题
10.0
错误
正确
×
”A”是一个字符常串量。( )
判断题 10.0 正确 错误 ×
在 C 语言中,逻辑表达式中只允许出现逻辑型 数据。( )
判断题
10.0
错误
正确
×
在 C 语言的 scanf( )中可用”%m.nf”形式的 格式字符指定输入数据的精度。( )
判断题 10.0
错误
正确
×
要判断 char 型变量 m 是否是数字字符,可以使 用下列表达式( )。
环节是( )。
1
×
执行下面的语句后 x 的值为( int a=14,b=15,x; char c='A';
x=((a&b)&&(c<'a'));
)。
单选题 10.0 4
1
×
下面描述中,不正确的是( )。
单选题 10.0 3
3

执行以下程序段后,a,b,c 的值分别是( )。
int a,b=100,c,x=10,y=9; a=(--x= =y++)?—x:++y;

北京理工大学网络教室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)。

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我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。

这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。

譬如12 和5 ,在十进制下它们是不等的,但若12 使用3 进制而5 使用六进制或十进制时,它们的值就是相等的。

因此只要选择合适的进制,12 和5 就可以是相等的。

程序的输入是两个数字M 和N( 其十进制的值不超过1000000000) ,它们的进制在2~36 之间。

对于十以下的数字,用0~9 表示,而十以上的数字,则使用大写的A~Z 表示。

求出分别在2~36 哪种进制下M 和N 相等。

若相等则输出相应的进制,若不等则输出错误信息。

当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。

信息的格式见测试用例。

21. 零钱换整钱成绩: 5 / 折扣: 0.8小明手中有一堆硬币,小红手中有若干张10元的整钱。

已知 1 角的硬币厚度为 1.8mm,5 角的硬币厚1.5mm,1 元的硬币为2.0mm 。

小明和小红一起玩游戏,小红拿出若干张10元的纸币,小明要将1 角的硬币放成一摞,将5 角的硬币硬币放成一摞,将1 元的硬币放成一摞,如果3 摞硬币一样高,并且金额能够正好小红要求的面值,则双方可以进行交换,否则没有办法交换。

输入:小红希望交换几张10元的纸币输出:1 角的数量,5 角的数量,1元的数量1.#include<stdio.h>2.main()3.{4.int n,a,b,c,s,j=0;5.scanf("%d",&n);6.for(a=1;a<10*n;a++)7.for(b=1;b*15<=a*18;b++)8.for(c=1;c<a;c++)9.{10.s=a+b*5+c*10;11.i f(b*15==c*20&&a*18==b*15&&s==100*n)12.{printf("%d,%d,%d\n",a,b,c);13.j+=1;14.}15.}16.i f(j==0)17.p rintf("No change.\n");18.r eturn 0;19.}22. 买东西成绩: 5 / 折扣: 0.8某商品有A、B、C三种品牌,各品牌的价格各不相同,其中A品牌的价格为每个5元,B 品牌为每个3元,而C品牌为每3个1元。

如果要用M 元钱买N 个该商品,要求每个商品至少买一个,编程求各种品牌各能买多少个。

输入:先后输入M(钱数)及N(商品个数)的实际数值输出:所有可能情况下可以购买的3种商品的个数,按A、B、C品牌的顺序输出,用逗号分隔。

例如:2,30,68;表示A品牌商品2个、B品牌商品30个、C品牌商品68个。

要求:因为有多个结果,结果的排序按照A品牌的个数从少到多的顺序输出。

1.#include<stdio.h>2.main()3.{4.int a,b,c,M,N,s;5.scanf("%d%d",&M,&N);6.for(a=1;a<=N;a++)7.{8.for(b=1;b<=N;b++)9.{10.c=N-a-b;11.i f(c%3==0)12.{13.s=a*5+b*3+c/3;14.i f(s==M)15.p rintf("%d %d %d\n",a,b,c);16.}17.}18.}19.}23 谁能出线成绩: 10 / 折扣: 0.8背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。

按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。

输入:按顺序给出一个小组10个人的最后得分(int)。

输出:能够出线的学生序号(0~9)。

#include<stdio.h>main(){int a[10]={0},i,max=0;for(i=0;i<10;i++){scanf("%d",&a[i]);if(max<a[i]) max=a[i];}for(i=0;i<10;i++){if(a[i]==max)printf("%d\n",i);}}24. 寻找特殊偶数成绩: 5 / 折扣: 0.8背景有一种特殊偶数,它每一位上的数字都两两不相同。

我们现在需要找出四位数中某一区间内的这类偶数。

输入所要寻找的四位偶数的范围。

每组输入有两个数字:第一个数字是最小范围;第二个数字是最大范围。

如果输入遇到0,输入结束。

输出列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。

1.#include<stdio.h>2.main()3.{4.int a,b,counter,i,number1,number2,number3,number4;5.do6.{7.scanf("%d%d",&a,&b);8.if((a==0)&&(b==0))9.break;10.i f(a>=b) printf("Error\n");11.e lse12.{13.i f((a<1000)||(b<1000)) printf("Error\n");14.e lse15.{16.f or(i=a,counter=0;i<=b;i++)17.{18.n umber1=i/1000;19.n umber2=i/100%10;20.n umber3=i/10%10;21.n umber4=i%10;22.i f((number1!=number2)&&(number1!=number3)&&(number1!=number4)&&(number2!=number3)&&(number2!=number4)&&(number3!=number4))23.{24.i f((i%2)==0)25.{26.p rintf("%d ",i);27.c ounter++;28.}29.}30.}31.p rintf("\n");32.p rintf("counter=%d\n",counter);33.}34.}35.}36.w hile((a!=0)&&(b!=0));37.r eturn;38.}26 二年级小学生的题目成绩: 10 / 折扣: 0.8两个二年级小朋友在一起玩游戏,小明给出一堆不超过两位的正整数和运算要求(+、-、*、/、%),小丽要找出这些整数中的最大值和最小值,然后按照小明的要求算出最大数与最小数进行算术运算的结果。

输入:用逗号分隔的不超过两位的正整数序列,及其运算符和等号输出:最大数op 最小数=结果1.#include<stdio.h>2.int main()3.{4.int op=0;5.int max=0;6.int min=99;7.int mark=0;8.int n1=-1,n2=-1,n=0;9.for(;1;)10.{11.c har c;12.s canf("%c",&c);13.i f(c==',')14.{15.i f(mark==1)16.n=n1;17.e lse if(mark==2)18.n=n1*10+n2;19.i f(n>max)20.{max=n;}21.i f(n<min)22.{min=n;}23.m ark=0;24.n1=-1,n2=-1;25.c ontinue;26.}27.i f(c=='+')28.o p=1;29.e lse if(c=='-')30.o p=2;31.e lse if(c=='*')32.o p=3;33.e lse if(c=='/')34.o p=4;35.e lse if(c=='%')36.o p=5;37.e lse if(c=='=')38.{break;}39.e lse if(c<='9'&&c>='0')40.{41.i f(mark==0)42.{n1=c-'0';mark=1;}43.e lse if(mark==1)44.{n2=c-'0';mark=2;}45.46.}47.}48.s witch (op)49.{50.c ase 1:51.{52.p rintf("%d + %d = %d\n",max,min,max+min);53.b reak;54.}55.c ase 2:56.{57.p rintf("%d - %d = %d\n",max,min,max-min);58.b reak;59.}60.c ase 3:61.{62.p rintf("%d * %d = %d\n",max,min,max*min);63.b reak;64.}65.c ase 4:66.{67.i f(min==0)68.p rintf("Error!\n");69.e lse70.{71.p rintf("%d / %d = %d\n",max,min,max/min);72.}73.b reak;74.}75.c ase 5:76.{77.i f(min==0)78.p rintf("Error!\n");79.e lse80.{81.p rintf("%d %% %d = %d\n",max,min,max%min);82.}83.b reak;84.}85.}86.}27 等值数列段成绩: 10 / 折扣: 0.8如果一个数列中的某一段(至少有两个元素)的各元素值均相同,则称之为等值数列段。

相关文档
最新文档