C语言作业2

合集下载

C语言程序设计作业二

C语言程序设计作业二

C语言程序设计作业二12. 该程序的输出结果是什么?(单选)#include <stdio.h>void main(){int n;n=0;while(n<8){switch(n%3){case 2:putchar('2');case 1:putchar('i');break;case 0:putchar('H');}n++;}}A. Hi2Hi2HiB. Hi2C. Hi2iHi2iD. Hi2iHi2iHi13. 该程序的输出结果是多少?(单选)#include <stdio.h>main(){int i,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}}printf("x=%d\n",x);}A. x=4B. x=8C. x=6D. x=1214. 若k为整型,以下while循环执行___次.(单选)k=2;while(k=0)printf("%d",k),k--;printf("\n");A. 无限次B. 0次C. 1次D. 2次15. 下面这个程序的输出是什么?(单选)#include <stdio.h>main(){int y=10;while(y--);printf("y=%d\n",y);}A. y=0B. while构成死循环C. y=1D. y=-116. 以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.请填空.#include <stdio.h>main(){___ n,i,j;printf("输入非零的整数(输入零结束程序)");i=j=0;scanf("%d",&n);while___{if(n>0)i=___;if(n<0)j=___;___;}printf("i=%4d j=%4d\n",i,j);}17. 圆周率pi的近似率可用下面的公式求得:pi*pi/6 约等于1/(1*1) +1/(2*2) +...+1/(n*n)由以上公式可知,若n取值10000,则最后一项的值为1E-4,认为可达到精度要求。

c语言练习2

c语言练习2

练习2一、选择题1.下面关于语句的说法中,正确的是( A B D)。

A、对程序中使用的变量、数组、函数等进行定义、声明的语句属于说明性语句B、表达式后面加;号构成表达式语句C、复合语句中不允许包含另一条复合语句D、对程序执行流程起控制作用的语句属于控制语句2.下面语句中,错误的是( B )。

A、m=x>y>z;B、float x=y=z;C、m=x,m>y;D、{k=m>n;k?:x,y;}3.下面不正确的if语句形式是( A )。

A、if (x=y;) m++;B、if (x<=y) m++;C、if (x-y) m++;D、if ( x ) m++;4.下面不正确的if语句形式是( C )。

A、if (x=y) ;B、if (x==y) m=0,n=1;C、if (x>=y) m=0 else n=1;D、if ( x!=y ) m=n;5.下面程序的运行结果是(A)。

void main(){int x=7,y=8,z=9;if(x>y)x=y,y=z; z=x;printf("x=%d y=%d z=%d\n",x,y,z);}A、x=7 y=8 z=7B、x=7 y=9 z=7 D、x=8 y=9 z=7 D、x=8 y=9 z=86.下面程序的运行结果是(B)。

void main(){int x=6,y=6;if(++x<y++)printf(“%d\n”,x++);elseprintf(“%d\n”,y++);}A、6B、7C、8D、97.下面程序的运行结果是(D)。

void main(){int x=1,y=2,z=3,m=1if(!x)m--;else if(!y)m=2;else if(!z);else m=3;printf(“m=%d\n”,m);}A、0B、1C、2D、38.在下面的if语句中,功能上具有等价关系的两条if语句是(B)。

C语言程序设计作业(二)

C语言程序设计作业(二)

C语言程序设计习题(二)学号:________ 姓名:________ 成绩________一、选择题1.()是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char2.假定x和y为double型,则表达式x=2,y=x+3/2的值是()。

A)3.500000 B)3 C)2.000000 D)3.0000003.设以下变量均为int类型,则值不等于7的表达式是()。

A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)4.16位系统执行下列程序片段时输出结果是()。

unsigned int a=65535;printf(“%d”,a);A)65535 B)-1 C)-32767 D)15.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按()方式输入数据。

int k1,k2,k3,k4;scanf(“%d%d”,&k1,&k2);scanf(“%d,%d”,&k3,&k4);A)1020↙B)10 20↙C)10,20↙D)10 20↙1020↙10 20↙10,20↙10,20↙6.执行下列程序片段时输出结果是()。

int x=13,y=5;printf(“%d”,x%=(y/=2));A)3 B)2 C)1 D)07.下列程序的输出结果是()。

main ( ){ int x=023;printf(“%d”,--x);}A)17 B)18 C)23 D)248.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是()。

int a1,a2; char c1,c2;scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A)1020AB↙B)10 20↙AB↙C)10 20 AB↙D)10 20AB↙9.执行下列程序片段时输出结果是()。

C语言 第2次作业

C语言 第2次作业

1 .C语言中规定函数的返回值的类型是由()。

A.return语句中的表达式类型所决定B.调用该函数时系统临时决定C.调用该函数时的主调用函数类型所决定D.在定义该函数时所指定的函数类型所决定参考答案:D2 .以下不能正确进行字符串赋初值的语句是____。

A.char str[5]="good“B.! char str[]=goodC.! char *str=goodD.! char str[5]={'g','o','o','d'}!参考答案:A3 .C语言中_______。

A.能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环参考答案:A4 .以下选项中,与k=n++完全等价的表达式是_____。

A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1参考答案:A5 .有定义语句:int b;char c[10]; ,则正确的输入语句是_____。

A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b,c);C.scanf("%d%s",b,c);D.scanf("%d%s",b,&c);参考答案:B6 .若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是_____。

A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1参考答案:D7 .若i 、j 已定义为int 型,则以下程序段中语句printf( “%d ”,i*j); 的执行次数是_____。

C语言编程Test 2作业

C语言编程Test 2作业
实验二
[
(1)学会调试程序的基本步骤。
(2)掌握switch语句的使用和break的作用。
(3)熟练掌握分支结构程序设计。
[
第一题,调试程序(实验教材P15实验2.2),按照书中介绍的方法进行调试。
改正下列程序中的错误,输入x计算并输出下列分段函数f(x)的值(保留1位小数)。
y=f(x)=1/x (x≠0)
printf("Enter salary:");
scanf("%d",&salary);
printf("Enter rate:");
scanf("%lf",&rate);
switch(salary)
{
case 1:rate=0;
case 2: 850<salary<=1350,rate=0.05;
case 3:1350<salary<=2850,rate=0.10;
return 0;
}
正确解题过程如下
#include <stdio.h>
int main(voiห้องสมุดไป่ตู้)
{
double x, y;
printf("Enter x: ");
scanf("%lf", x);
if(x != 0){
y = 1 / x
}
else{
y = 0;
}
printf("f(%.2f) = %.1f\n", x, y);
解题程序如下:
#include <stdio.h>
#include <math.h>

C语言程序设计形成性考核作业2解答

C语言程序设计形成性考核作业2解答

《C语言程序设计》作业2解答一、选择题1. 在下面的一维数组定义中,( C )语句有语法错误。

A. int a[ ]={1,2,3};B. int a[10]={0};C. int a[ ];D. int a[5];2. 在下面的二维数组定义中,( C )语句是正确的。

A. int a[5][ ];B. int a[ ][5];C. int a[ ][3]={{1,3,5},{2}};D. int a[ ](10);3. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为( C )。

A. 2B. 4C. 6D. 84. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为( A )。

A. 0B. 4C. 8D. 65. 将两个字符串连接起来组成一个字符串时,选用( C )函数。

A. strlen( )B. strcap( )C. strcat( )D. strcmp( )二、填空题1. 假定一维数组的定义为“char * a[8];”,则该数组所含元素的个数为8 。

2. 假定一维数组的定义为“char * a[8];”,则该数组所占存储空间的字节数为32 。

3. 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为60 。

4. 假定二维数组的定义为“double a[M][N];”,则该数组所含元素的个数为M*N 。

5. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在0 ~M-1 之间。

6. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N-1 之间。

7. 使用“typedef char BB[10][50];”语句定义BB 为含有10行50列的二维字符数组类型。

带答案C语言2-10章作业

带答案C语言2-10章作业

带答案C语言2-10章作业C语言习题集专业班级学号姓名第2章运算符与表达式一、选择题1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。

(float)(a+b)/2+(int)x% (int)yA) B)35 C) D)2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。

(x+y)%2+(int)a/(int)bA) B)1 C) D)23.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。

x%=(n%=2)A)0 B)1 C)2 D)34.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。

A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。

#include <>main( ){ double d=; int x,y;x=; y=(x+/;printf("%d\n", d*y);}A)3 B)3.2 C)0 D)6.下列程序执行后的输出结果是(小数点后只写一位)( A )。

#include <>main( ){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f\n", i,l,f,d);}A)6 6 B)6 6C)6 6 D)6 67.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。

A)1 B)2 C) D)8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);9.若执行以下程序段后,c3的值为( A )。

int c1=1,c2=2,c3;c3=c2*c1;A)0 B)0.5 C)1 D)210.如下程序的运行结果是( D )。

2020年秋季C语言程序设计(本)网上作业2

2020年秋季C语言程序设计(本)网上作业2

2020年秋季C语言程序设计(本)网上作业2一、单选题1. (5分)以下程序的输出结果是( D )。

#include <stdio.h> main() { int z,y[3]={2,3,4};Z=y[y[2]]=10; printf("%d",z);}A. 10B. 2C. 3D. 运行时出错,得不到确定值2. (5分)能正确表示关系a≥10或a≤0的C逻辑表达式是( D )。

A. a>=10 or a<=0B. a>=0|a<=10C. a>=10 && a<=0D. a>=10‖a<=03. (5分)下列程序的运行结果是( B )。

#include <stdio.h> void fun(int *a, int *b){ int *k; k=a; a=b; b=k;} main() { int a=3, b=6, *x=&a, *y=&b;fun(x,y); printf("%d %d", a, b);}A. 6 3B. 3 6C. 编译出错D. 0 04. (5分)以下叙述中,( D )不正确。

A. C语言中,文本文件以ASCⅡ码形式存储数据B. C语言中,访问二进制文件的速度比文本文件快C. C语言中,随机读写方式不适用于文本文件D. C语言中,顺序读写方式不适用于二进制文件5. (5分)若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( A )。

A. p=2*(int*)malloc(sizeof(int));B. p=(int*)malloc(2*sizeof(int));C. p=(int*)malloc(2*2);D. p=(int*)calloc(2,sizeof(int));6. (5分)该程序的执行结果是( C )。

C语言作业2

C语言作业2

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

这种被称为通用产品代码(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以文本方式显示1.0↵2.24600↵3.01003↵以文本方式显示1.0↵1秒64M 0解法:#include<stdio.h>main(){int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z;scanf("%1d",&a);scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f);scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k);x=a+c+e+g+i+k;y=b+q+f+h+j;m=x*3+y;n=m-1;z=n%10;p=9-z;printf("%d\n",p);}H2:数制转换(选作)成绩: 5 / 折扣: 0.8我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。

c语言第2次作业

c语言第2次作业

1.计算机能直接执行的程序是______。

A)源程序 B)机器语言程序 C)高级语言程序 D)汇编语言程序2.以下选项中,不属于C语言结构化程序设计三种基本结构的是_______。

A)选择结构 B)顺序结构 C)递归结构 D)循环结构3.以下选项中,可以作为C语言用户标识符的一组是_______-。

A) void、define、WORO B)a3_b3、_123、xyzC)For、_abc、case D)2a、Do、sizeof4.已知:char a=’\70’;,则变量a________。

A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明非法5.已知:float x=2,y;,则表达式y=x+3/2的值是________。

A)3.5 B)3.0 C)2.0 D)1.06.C语言中,运算对象必须是整型数值的运算符是________。

A)% B)/ C)< D)!_________√(a²+b²)7.以下选项中,数学式1/2sin ( _________ )| c |A)1/2sin(sqrt(a^2+b^2)/fabs(c)) B)0.5sin(sqrt(a^2+b^2)/fabs(c))C) 1/2*sin(sqrt(a*a+b*b)/fabs(c))D)1.0/2*sin(sqrt(a*a+b*b)/fabs(c))8、已知:int i=10,j=1;,则执行语句print(“%d,%d”,i--,++j);后,输出结果是______。

A)9,2 B)10,2 C)9,1 D)10,19、已知:int a=5;,执行语句a=3*5,a*4,a+5;后,变量a的值是_________。

A)45 B)20 C)15 D)1010、已知:int x,y,t;,则语句:t=x,x=y,y=z;的功能是________。

A)将x和y按从大到小排列 B)将x和y按从小到大排列C)交换x和y的值 D)语法错误11.以下选项中叙述正确的是____________。

C语言第二次作业答案

C语言第二次作业答案

C语言第二次作业1.某年如果能被4整除,但不能被100整除,或者能被400整除的年是闰年。

判断从键盘输入的年份是否为闰年。

一、实验目的:掌握if else选择结构二、实验容:#include<stdio.h>int main(){int x;printf("请输入年份:\n");scanf("%d",&x);if(x%4==0&&x%100!=0||x%400==0)printf("是闰年.\n");elseprintf("不是闰年.\n");return 0;}三:调试结果:2、某个自动加油站有‘a’,‘b’,‘c’三种汽油品种,单价分别为6.92,7.37,7.64(元/公升),也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠,请编程序针对用户输入加油量m,汽油品种y和服务类型z(‘f’—自动加,‘m’—自己加,‘e’—协助加),(注:‘f’—自动加无优惠),计算应付款pay。

(请用多分支选择switch语句)。

一、实验目的:掌握switch语句二、实验容:#include<stdio.h>#include<math.h>int main(){float p,q,m,pay;char y,z;printf("请输入汽油品种(y),服务类型(z),加油量(m)\n");scanf("%c,%c,%f",&y,&z,&m);switch(y){case'a':p=6.92;break;case'b':p=7.37;break;case'c':p=7.64;break;}switch(z){case'f':q=1;break;case'm':q=0.95;break;case'e':q=0.9;break;}pay=p*q*m;printf("pay=%.2f\n",pay);return 0;}三:调试结果:3、输入三角形三边,判断该三角形是什么三角形(等边,等腰,普通和直角)一、实验目的:掌握switch语句二、实验容:#include<stdio.h>int main(){int a,b,c;printf("请输入三角形的三边长:\n");scanf("%d,%d,%d",&a,&b,&c);if(a==b&&b==c)printf("此三角形是等边三角形");else if(a==b||b==c||a==c)printf("此三角形是等腰三角形");else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)printf("此三角形是直角三角形");elseprintf("此三角形是普通三角形");return 0;}三、调试结果4. 编写一个菜单程序,输入1~3以进入相应的选择项。

C语言书面作业2(有答案版)

C语言书面作业2(有答案版)

书面作业2(数组、函数、指针、系统函数、结构体、文件读写)一、判断题:在正确的说法前面填写T,在错误的说法前面填写F(每题1分)[得分: ] (F )1.每一个C语言函数,都必须用return语句结束。

(T )2.如果函数有返回值,则该函数的表达式可以作为数据对象使用。

(F )3. 函数表达式中,实参类型必须与对应的形参类型一样。

(T )4.函数调用时,实参与形参必须类型兼容,且一一对应。

(T )5.C语言实参与形参结合的唯一方式是将实参的值复制到形参中。

(F )6.C语言实参与形参结合的一种方式是将实参的地址复制给形参。

(T )7.在函数体中申明的变量,仅在该函数范围内有效。

(T )8.在所有函数外申明且位于所有函数定义之前的变量,可以在所有函数中使用。

(F )9. C 语言程序中,main 函数必须放在所有其他函数之前。

(F )10.数组名相当于一个变量名,可以作为变量使用。

(T )11.数组元素表达式相当于一个变量名,可以作为变量使用。

(F )12.数组元素在内存中如何排列,并没有严格的要求。

(T )13.数组元素在内存中必须一个紧挨一个存放,因此数组是一种数据结构。

(T )14.字符串实际上是一个1维字符数组,其最后一个元素必须是字符‟\0‟。

(F )15.任何一个一维字符数组都可以当成字符串使用。

(T )16.字符串数组相当于最末一个元素为字符‟\0‟的一维数组的数组。

(F )17.将字符串字面值”hello!”赋值给一维字符数组str的写法是:str = “hello!”;(F )18. 指针表示变量的地址,因此没有类型之分别。

(T )19. 指向不同数组的两个指针不能进行有意义的比较。

(F )20. 数组名相当于一个指针变量。

(T )21. 数组名相当于一个指针常数。

(T )22. 数组名可进行取值运算,指针变量可进行下标运算。

(T )23. 数组名是指向数组第一个元素的指针常数。

2019年春电大计算机本科C语言程序设计形成性作业2

2019年春电大计算机本科C语言程序设计形成性作业2

C语言程序设计形成性考核作业二一、选择题1.在下面的一维数组定义中,(C)语句有语法错误。

A.int a[]={1,2,3};B.int a[10]={0};C.int a[];D.int a[5];n2.在下面的二维数组定义中,(C)语句是正确的。

A.int a[5][];B.int a[][5];C.int a[][3]={{1,3,5},{2}}; D.int a[](10)3.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(C)。

A.2B.4C.6D.84.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(A)。

A.0B.4C.8D.65.将两个字符串连接起来组成一个字符串时,选用(C)函数。

A.strlen()B.strcap()C.strcat()D.strcmp()二、填空题1.假定一维数组的定义为“char*a[8];”,则该数组所含元素的个数为__8_。

2.假定一维数组的定义为“char*a[8];”,则该数组所占存储空间的字节数为__32__。

3.假定二维数组的定义为“int a[3][5]”,则该数组所占存储空间的字节数为__60___。

3.假定二维数组的定义为“char a[M][N];”,则该数组所所含元素的个数为_M*N__。

5.假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在_0~M-1_之间。

6.假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在_0~N-1__之间。

7.使用“typedef char BB[10][50];”语句定义___BB_____为含有10行50列的二维字符数组类型。

8.存储字符’a’需要占用存储器的___1___个字节空间。

9.空字符串的长度为___0___。

电子科大10秋学期《C语言》在线作业答案(一,二,三)

电子科大10秋学期《C语言》在线作业答案(一,二,三)
12.一个C程序的执行是从(A)
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
满分:2分
13.若有以下说明和语句:struct student {int age;int num;}std,* p;p=&std;
则以下对结构体变量std中成员age的引用方式不正确的是(D)
A. std.age
B. p->age
C. (*p).age
D. *p.age
满分:2分
14.以下叙述中不正确的是(D)
A.在不同的函数中可以使用相同的名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
A. 2
B. 3
C. 6
D. 4
满分:2分
32. x,i,j和k都是int型变量,则执行下面表达式后x的值为(C)x=(i=4,j=16,k=32)
A. 4
B. 16
C. 32
D. 52
满分:2分
33.下面程序段的运行结果是(C)
char c[5]={'a','b','\
printf("%s",c);
A. C函数必须有形式参数
B.任何复合语句体的{ }中允许定义局部变量
C.局部变量都存储在动态存贮区
D. C程序的执行起点只能是main函数
满分:2分
三、判断题(共10道试题,共20分。)
V
1.已知int a[4],*p;则语句p=&a;是正确的。B

吉大《C语言程序设计》在线作业二

吉大《C语言程序设计》在线作业二
B. *p中存放的是地址值,因此不能执行*p=40;语句
C. q没有指向具体的存储单元,所以*q没有实际意义
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
答案:D
满分:4分得分:4
5.下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
A. k%11
B. k
C. k/11==0
D. k==0
答案:B
满分:4分得分:4
7.在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A. 1
A. 错误
B. 正确
答案:A
满分:4分得分:4
7.使用getchar函数可以不添加#include <stdio.h>命令。( )
A. 错误
B. 正确
答案:A
满分:4分得分:4
8.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
答案:ACD
满分:4分得分:4
三、判断题(共10道试题,共40分。)得分:40
1.switch语句中,各个case和default的出现次序不影响执行结果。( )

C语言程序设计第二次作业

C语言程序设计第二次作业

C语⾔程序设计第⼆次作业(⼀)改错1.输出带框⽂字:在屏幕上输出以下3⾏信息。

错误信息1:错误原因:改正⽅法:将stido改为stdio错误信息2:错误原因:第三个\n后缺少引号改正⽅法:在第三个\n后边补全引号错误信息3:错误原因:丢失;改正⽅法:在printf(" Welcome\n")后加⼀个;错误信息4:错误原因:单词错误改正⽅法:把mian改成main2.计算某个数x的平⽅赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。

注意不要删除源程序中的任何注释。

输⼊输出⽰例(假设x的值为3)错误信息1:错误原因:丢失h改正⽅法:将改成<stdio.h>错误信息2:错误原因:注释符不全改正⽅法:在输出后补上*/错误信息3:运⾏程序发现结果不正确,错误原因:第7,8⾏的printf语句中缺少部分对应的函数值改正⽅法:补全对应函数值,如图错误信息4:错误原因:未给函数赋值改正⽅法:给函数赋值3运⾏程序发现仍存在错误,经检查发现错误为第七⾏引号⾥缺少\n并且第⼋⾏d前缺少%,改正后如图所⽰程序运⾏正确且符合题⽬要求。

(⼆)学习总结1.不同的数据类型,在计算机中所占内存⼤⼩是不⼀样的,C语⾔提供了sizeof运算符,可以获取数据字节数。

其基本语法如下:sizeof(数据类型名称)或sizeof(变量名)利⽤sizeof运算符编程求出int类型数据所占的字节⼤⼩源代码输出结果:利⽤sizeof运算符编程求出long类型数据所占的字节⼤⼩源代码输出结果:利⽤sizeof运算符编程求出float类型数据所占的字节⼤⼩源代码输出结果利⽤sizeof运算符编程求出double类型数据所占的字节⼤⼩源代码输出结果2.在C语⾔中,在头⽂件limits.h中,有关于各种基本数据类型的最⼤以及最⼩值的宏定义。

例如,int型的最⼤值为INT_MAX,最⼩值为INT_MIN。

C语言作业 (2)

C语言作业 (2)

28 组成最大数成绩: 10 / 折扣:任意输入一个自然数,输出该自然数的各位数字组成的最大数。

例如,输入1593 ,则输出为9531 。

输入:自然数n输出:各位数字组成的最大数测试输入期待的输出时间限制内存限制额外进程1秒64M 0测试用例11.1593 1.9531#include<>#include<>int main(){char a[10000];int x[10]={0};scanf("%s",a);int n=strlen(a);for(int i=0;i<n;i++){x[a[i]-'0']++;}for(int i=9;i>=0;i--)for(int j=0;j<x[i];j++){printf("%d",i);}printf("\n");}29 北理工的恶龙成绩: 10 / 折扣:背景:最近,北理工出现了一只恶龙,它长着很多头,而且还会吐火,它将会把北理工烧成废墟,于是,校长下令召集全校所有勇士杀死这只恶龙。

要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的每个头大小都不一样,一个勇士只有在身高不小于龙头的直径的情况下才能砍下它。

而且勇士们要求,砍下一个龙头必须得到和自己身高厘米数一样的学分。

校长想花最少的学分数杀死恶龙,于是找到你寻求帮助。

输入:第一行龙头数n , 勇士人数m(1<=n, m<=100 )接下来n 行,每行包含一个整数,表示龙头的直径接下来m 行,每行包含一个整数,表示勇士的身高l输出:如果勇士们能完成任务,输出校长需要花的最小费用;否则输出“ bit is doomed! ”测试输入期待的输出时间限制内存限制额外进程测试用例11.232. 53. 44.75.86. 41.111秒64M 0测试用例21.212. 53. 54.101.bitisdoomed!1秒64M 0#include<>int main(){int dragon,hero;scanf("%d%d",&dragon,&hero);int dragonhead[100]={0};int herohight[100]={0};1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.......*......根据上面的地图,可以计算出应该提供给游戏者的数字如下所示:*10022101*101110每个数字表示了该方格周围到底有几个地雷,当然,一个方格周围最多的时候只会有八个。

c语言书面作业2

c语言书面作业2

书面作业_7请按下列要求,编写相应程序:1、一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小值和其下标。

#include<stdio.h>int main(){int arr[10]={34,91,83,56,29,93,56,12,88,72};int row=0,i,min;min=arr[0];for(i=0;i<10;i++)if(arr[i]<min){min=arr[i];row=i;}printf("min=%d,row=%d\n",min,row);return 0;}2、用rand()函数产生个0-9之间的随机整数,分别统计0-9数字出现的次数,并输出对应的百分比。

(提示:统计次数用一维数组来存放)3、将数组中的数按颠倒的顺序重新存放。

在操作时,只能借助一个临时存储单元而不得另外开辟数组。

注意:不是要求按颠倒的顺序打印数据,而是要求按逆序重新放置数组中的内容。

假定a 数组有8个元素,原始内容如表-1所示:表-1 数组a 原来的内容现要求改变成如表-2所示:表-2 重新排列后的数组aC 语言程序设计LL1007 江立书面作业_8请按下列要求,编写相应程序:1、先分别定义两个元素个数分别为41和21的字符数组str1、str2,然后从键盘上输入两个长度不超过20的字符串分别存放到str1、str2中,再将str2内容连接到str1尾部(不使用strcat()函数),最后输出str1的字符串内容。

2、从键盘上输入一个字符串,假定字符串的长度小于200,试分别统计每一种英文字母(不区分大、小写)的个数并输出。

3、假定电文的译码规律如下:A→Z(a→z),B→Y(b→y),C→X(c→x),…,Z→A(z→a)。

要求编写程序,能实现将原文翻译成密码,或将密码翻译成原文的功能。

原文或密码内容从键盘输入,其所属类型(指原文或密码)也由键盘输入,0代表原文,1代表密码。

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

期待的输出时间限制内存限制#include<stdio.h>main(){int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z;scanf("%1d",&a);scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f);scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k);x=a+c+e+g+i+k;y=b+q+f+h+j;n=m-1;z=n%10;p=9-z;printf("%d\n",p);}H2:数制转换(选作)成绩: 5 / 折扣: 0.8我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。

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

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

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

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

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

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

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

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

信息的格式见测试用例。

测试输入期待的输出制#include"string.h"#include"stdio.h"{ char a[N],b[N],d[N],e[N],d0[N];int i,j,o,r,g,h,w,t,l,k,max1,max2;double p[N],q[N]={0},u[N],v[N]={0},c[N],f[N],m,n; for(i=0;i<N;i++){scanf("%c",&a[i]);if(a[i]=='\x20'){l=i; break;} }gets(d);if(d[0]!='\x20'){k=strlen(d);goto C;}if(d[0]=='\x20'){strcpy(d0,d);g=strlen(d0);for(i=0;d0[i]=='\x20';i++);j=i;for(i=0;i<g-j;i++) d[i]=d0[i+j];k=g-j;}C:for(i=0;i<l;i++){b[i]=a[l-i-1];if(b[i]<='\x39'&&b[i]>='\x30') c[i]=b[i]-'0';if(b[i]<='\x5A'&&b[i]>='\x41') c[i]=b[i]-'7'; }for(i=0;i<k;i++){e[i]=d[k-i-1];if(e[i]<='\x39'&&e[i]>='\x30') f[i]=e[i]-'0';if(e[i]<='\x5A'&&e[i]>='\x41') f[i]=e[i]-'7'; } max1=c[0];for(i=1;i<l;i++){if(max1<c[i]) max1=c[i];}if(max1==0) max1=1;max2=f[0];for(i=1;i<k;i++){if(max2<f[i]) max2=f[i];}if(max2==0) max2=1;for(i=max1+1;i<=36;i++){for(j=0;j<l;j++){m=c[j];for(g=0;g<j;g++){m=m*i;}q[i]=q[i]+m;}}for(i=max2+1;i<=36;i++){for(j=0;j<k;j++){n=f[j];for(g=0;g<j;g++){n=n*i;}v[i]=v[i]+n; }}for(g=max1+1;g<=36;g++)for(h=max2+1;h<=36;h++){ if(q[g]==v[h]){w=g,t=h;goto out;}} for(i=0;i<l;i++) printf("%c",a[i]);printf(" is not equal to ");for(i=0;i<k;i++) printf("%c",d[i]);printf(" in any base 2..36\n");goto outs;out:for(i=0;i<l;i++) printf("%c",a[i]);printf(" (base %d) = ",w);for(i=0;i<k;i++) printf("%c",d[i]);printf(" (base %d)\n",t);outs:; }16. 空心字符菱形成绩: 5 / 折扣: 0.8输入:菱型起始字母和菱形的高度。

输出:参看测试用例,打印空心的由字符组成的菱形。

测试输入期待的输出时间限制内存限制额外进程void main(){char letter;int i,j,k,l,n;scanf("%c %d",&letter,&n);for(i=0;i<n;i++){if(i==0){for(j=0;j<n-1;j++)printf(" ");printf("%c",letter);} else if(i>0){for(j=0;j<n-1-i;j++)printf(" ");printf("%c",letter+i);for(j=0;j<2*i-1;j++)printf(" ");printf("%c",letter+i);}printf("\n");}for(i=n-2;i>=0;i--){if(i==0){for(j=0;j<n-1;j++)printf(" ");printf("%c",letter);} else if(i>0){for(j=0;j<n-1-i;j++)printf(" ");printf("%c",letter+i);for(j=0;j<2*i-1;j++)printf(" ");printf("%c",letter+i);}printf("\n");}}17. 数字菱形成绩: 5 / 折扣: 0.8这是非信息类今年出的题目,大家来看看,你会做吗?输入n 的值,输出如下例(n=4 )所示的数字菱形。

4434432344321234432344344输入:n输出:数字菱形友情提示:同学们总结一下打印星号组成的实心图形程序的编程思路:第一步,打印星号组成的正方形;第二步,改变每行星号的个数,打印每行星号数量不一样的图形;如果是空心图形,每行第一个和最后一个位置输出星号,其他位置输出空格。

现在我们练习输出变化的字符,在打印星号图形的基础上,原来输出*号的位置,将printf("*");改为printf("%2d",x);当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了。

x是多少呢?则要寻找其规律,就是该输出位置与所在行列的关系。

注意给出的测试用例,输出的数字是左对齐啊。

不用数组就可以完成。

时间限制内存限制额外进程1.#include <stdio.h>2.int main()3. {int i,j,k,n,t;4. scanf("%d",&n);5.for(i=1;i<=n;i++)6. {for(j=1;j<=n+i-1;j++)7. {if(j<=n-i) printf(" ");8.else9. {for(k=n;k>=n-i+1;k--,j++) printf("%-2d",k);10.for(k=n-i+2;k<=n;k++,j++) printf("%-2d",k);}11. }12. printf("\n");}13.for(i=n+1;i<=2*n-1;i++)14. {for(j=1;j<=3*n-i-1;j++)15. {if(j<=i-n) printf(" ");16.else17. {for(t=n;t>=i-n+1;t--,j++) printf("%-2d",t);18.for(t=i-n+2;t<=n;t++,j++) printf("%-2d",t);}19. }20. printf("\n");}21. }18. 寻找特殊偶数成绩: 5 / 折扣: 0.8背景有一种特殊偶数,它每一位上的数字都两两不相同。

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

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

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

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

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

测试输入期待的输出#include<stdio.h>#include<math.h>main(){int i,j,k,a,b,c,d,m=0,e;for(e=0;e>=0;e++){scanf("%d%d",&i,&j);if((i==0)||(j==0)) break;else if((i>9999||i<1000)||(j>9999||j<1000)) printf("Error\n");else {for(k=i;k<=j;k++){if (k%2==1) continue;测试输入时间限制内存限制允许迟交: 是1.#include <stdio.h>2.#include <math.h>3.int main()4.{5.int i,n=0;6.while(1)7.{8.scanf("%d",&i);9.if(i==0)break;10.n+=pow(2,i-1);11.}12.printf("%d\n",n);13.return 0;14.}H4:小蜜蜂(选作)成绩: 5 / 折扣: 0.8一只小蜜蜂在如下图所示的蜂窝上爬行。

相关文档
最新文档