C语言上机实验答案_第1页
C语言上机实验答案_第2页
C语言上机实验答案_第3页
C语言上机实验答案_第4页
C语言上机实验答案_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言上机实验答案上机实验指导与习题(第二版) (仅供教师内部参考) 1实验2基本数据类型、运算和表达实验3基本输入与输实验4选择结构程序设实验5循环结构程序设计 实验6循环结构程序设计 实验7数 实验8字符数组的应实验10指针与结构26 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 ,学会使用JudgeOnline实验系统。略略2 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它 (2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。{inta,b;/*定义整型变量a和b*/inti,j;/*定义实型变量i和j*/i=;j=i*a*b;}[具体操作步骤] (1)将代码补充完整; (2)在TC或VC++上运行通过; (3)在JudgeOnline实验系统上提交;要求编写一个程序,在显示屏上显示如下内容(全为半角字符,且不包含空[提示]注意转义字符在程序中的使用。参考程序:{printf("C:\\");}3{floata;}运行结果为:。}运行结果为:4 (2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。[第一组自测数据][键盘输入][正确输出]a[第二组自测数据][键盘输入][正确输出]+程序:}[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出]参考程序:inta,b;},程序只[第一组自测数据][键盘输入]2↙[正确输出][第二组自测数据][键盘输入]↙[正确输出][提示]结果保留两位小数可采用printf函数的格式控制字符来实现。参考程序:}值,精确到小为:[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出]参考程序:}3 (1)了解C语言表示逻辑的方法(以0代表“假”,以非0代表“真”)。 (2)学会正确使用逻辑运算符和逻辑表达式。 (3)熟练掌握if语句和switch语句。 (4)结合程序掌握一些简单的算法。出Y,不在圆上输出[第一组自测数据][键盘输入][正确输出]Y[第二组自测数据][键盘输入][正确输出]N[提示](1)平面上的点与圆的关系分为在圆内、在圆上、在圆外三种,本题要判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度(本题为)参考程序:{floata,b;printf("Y\n");intfNn}[第一组自测数据][键盘输入][正确输出]6[第二组自测数据][键盘输入][正确输出]5[提示]划定一位数、二位数、…、九位数的范围,然后用if…elseif…else语句参考程序:}[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出]参考程序:}[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出][提示]下面代码实现由键盘读入一个字符,并按题意处理后输出参考程序:}输出“NO”(注意,[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出][提示]整除即除得余数为0参考程序:}[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出]参考程序:{intn;}下面程序是实现一个简单的运算器(保留两位小数点),如果由键盘输入。{case'+':;case_;case'/':__;}}[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出]参考程序:}}8实验5循环结构程序设计(一) (2)掌握在程序设计中用循环实现一些常用算法(如穷举、迭代、递推输入正整数n,计算n!,结果用长整型数表示(注n!=1*2*3*...*n)[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出]参考程序:for(i=1;i<=a;i++)n=n*i;}[第一组自测数据][键盘输入][正确输出]4[第二组自测数据][键盘输入][正确输出]参考程序:}}或}由键盘输入一行字符(总字符个数从1个至80个均有可能,以回车符表示结束),将其中每个数字[第一组自测数据][键盘输入][正确输出]6[第二组自测数据][键盘输入][正确输出][提示](1)可以使用下面程序段逐个读入键盘输入的一行字符 (2)数字字符转为对应的数值可用a=ch-'0'参考程序:{if(c>='0'&&c<='9')a=c-48;}}[第一组自测数据][键盘输入][正确输出]8[第二组自测数据][键盘输入][正确输出]1[提示]公约数是既能整除m又能整除n的数,题目要求满足这一条件的最大的参考程序:{r=n%m;}}或for(i=t;i>=1;i--){if(m%i==0&&n%i==0)}}由键盘输入一个句子(总字符个数从1个至80个均有可能,以回车符表示结束),将其中的大写字符变成小写(其它类型的字符不变),最后输出变换后的句子。[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出]参考程序:{if(c>='A'&&c<='Z')}}:[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入][正确输出]参考程序:{inti,t,n;}}[自测数据][键盘输入]1245768758743559921↙[正确输出]参考程序:{inti,t,min;{}}由键盘输入一个句子(总字符个数从1个至80个均有可能,以回车符表示结[第一组自测数据][键盘输入][正确输出]3[第二组自测数据][键盘输入][正确输出]7参考程序:{word=1;}}[第一组自测数据][键盘输入][正确输出][第二组自测数据][键盘输入]参考程序:{intn,m,i;printfd,i-1);}实验6循环结构程序设计(二) (2)掌握在程序设计中使用多重循环。输出2到200之间(包括2、200)的所有素数(注:要求1行1个素数,按由小到大的顺序输出)。循环产生2到200之间的数,内层循环对数进行判参考程序:{intm,k,i;{k=sqrt(m);foriiki+)tfdnm}}[第一组自测数据][键盘输入][正确输出]*************************[第二组自测数据][键盘输入][正确输出]*************参考程序:{intn,i,j,k;for(j=1;j<=k;j++)printf("");for(j=1;j<=2*n+1-2*k;j++)printf("*");printf("\n");}}参考程序:{inti,j;{j=i;j=j/10;}ifjprintf("%d\n",i);}}[第一组自测数据][键盘输入][正确输出]11[第二组自测数据][键盘输入][正确输出]1参考程序:{intn,i,j,k,h;{for(j=0;j<abs(i);j++)printf("");printf("\n");}} (1)掌握一维数组和二维数组的定义、赋值和输入输出方法。 (2)掌握与数组有关的算法。[自测数据][键盘输入]705142019299671366↙[正确输出]661367992192014570参考程序:inti;}[自测数据][键盘输入]参考程序:[正确输出]{inta[3][4],b[4][3],i,j;{scanf("%d",&a[i][j]);b[j][i]=a[i][j];}for(j=0;j<3;j++)printf("%d",b[i][j]);printf("\n");}}{inta[10],i,j,t;for(j=0;j<____;j++)}printfdai;}[自测数据][键盘输入]705142019299671366↙[正确输出]251314192066677099参考程序:{inta[10];inti,j,t;{for(j=0;j<9-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}[自测数据][键盘输入]7051422192996713665934438221139223311↙[正确输出]个,分别是705142219299671366934438113933参考程序:{inta[20];{scanf("%d",&a[i]);if(t==i)}}由键盘输入两个位数很长的整数(一行一个数,每个数最长不超过80位),[自测数据][键盘输入][正确输出]参考程序:{inta[100]={0},b[100]={0},c[100]={0};{c[i]=(a[i]+b[i]+e)%10;}xiprintf("%d",c[i]);}由键盘输入一个3×4(3行4列)的矩阵,输出矩阵中的鞍点(即在矩阵行中最大,列中最小的数)。[自测数据][键盘输入]709721065↙[正确输出]参考程序:scanfdaij{max=a[i][0];if(a[i][j]>max){max=a[i][j];maxj=j;}jif(flag)}if(!flag)printf("NO"); (1)掌握字符数组和字符串函数的使用。 (2)掌握与字符串处理有关的算法。。dmain{chars[80];/*定义字符数组s*/}参考程序:voidmain(){printf("%s",s);/*打印字符串*/}参考程序:从键盘输入3个字符串(每个字符串以回车符做为结束标志),将3个字符串{/*可以写多行代码*/}[自测数据][键盘输入][正确输出]读入一行字符串(不多于80个字符,以回车结束),判断该字符串是否为回文串(即从左向右拼写与从右向左拼写是一样的),是输出Y,否则输出N。[第一组自测数据][键盘输入][正确输出]Y[第二组自测数据][键盘输入][正确输出]N参考程序:{inti,len;if(buf[i]!=buf[len-i-1])printf("Y");printf("N");}由键盘输入两个字符串(假设第一个字符串必包含第二个字符串,如第一个字F (如果第二个字符串在第一个字符串中出现多次,则以最前出现的为准)[第一组自测数据][键盘输入][正确输出]4[第二组自测数据][键盘输入][正确输出]参考程序:{inti,j;for(i=0;a[i]!='\0';i++){for(j=0;b[j]!='\0';j++)if(a[i+j]!=b[j])break;if(b[j]=='\0')break;}if(a[i]!='\0')printf("%d",i+1);}验目的 (1)掌握定义函数的方法。 (2)掌握函数实参与形参的对应关系,以及“值传递”的方式。 (3)掌握函数的嵌套调用和递归调用的方法。 (4)掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。{intr;{}}{}for(i=1;i<=a;i++)n=n*i;}}}{inta=1,k;}程序运行结果为:6810下面程序,实现由键盘输入一个正整数(不大于0),输出其对应的二进制数(原码表示)。空:voidfun(inti){if(i>1)fun(i/2);i}funn;} (1)通过实验进一步掌握指针的概念,会定义和使用指针变量。 (2)能正确使用数组的指针和指向数组的指针变量。 (3)能正确使用字符串的指针和指向字符中的指针变量。 (4)掌握结构体类型变量的定义和使用。{inttemp;}b}组定义:计算下面各项的值(设数组a的首地址为2000,一个int类型数占四个字 (1)a[2][1](2)a[1](3)a(4)a+1 (5)*a+1(6)*(a+1)(7)a[2]+1(8)*(a+1)+1 (9)*(*(a+2)+2)27参考程序:{printf("19\n");printf("21");}}inti;fdi} (1)字符数组name,最多可存放10个字符; (2)字符变量sex,用于记录性别; (3)整数类型变量num,用于记录学号; /*定义结构体类型*/}{scanfc%c",&;scanfd&;scanf("%f",&;rintfcnrintfdnprintf("%f\n",;} (1)理解链表的概念。 (2)掌握结构体、指针在链表中的运用。 (3)掌握链表的常用操作,包括创建、显示、添加等。{longnum;/*学号*/intscore;/*成绩*/};程序首先完成创建两个链表,要求补充完成按学号顺序插入链表结点的函数:{}}}{longnum;/*学号*/intscore;/*成绩*/};建两个链表,要求补充完成实现将第二个链表合并到第一个链{}{longnum;/*学号*/intscore;/*成绩*/};序创建一个链表,要求补充完成实现将链表中各结点变为倒序{}ULL}{longnu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论