C语言实训计划指导书Word文档格式.docx
- 文档编号:17270606
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:33
- 大小:166.24KB
C语言实训计划指导书Word文档格式.docx
《C语言实训计划指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言实训计划指导书Word文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
……
三、实验内容和步骤
1、下面的程序功能是求出任意两个数的最小值,填空完成程序。
1#include<
>
2main()
3{floata,b,c;
4printf(“pleaseinputtwonumber);
5scanf(“___”,&
a,&
b);
6if(a<
b)c=a;
7elsec=b;
8printf(“thesmalleris_____”,c);
9}
调试无语法错误后,分别使用下列测试用例对上述程序进行测试:
(1)
运行结果:
____________________________
(2)-86
(3)33000
2、下面的程序功能是按照由小到大的顺序输出任意三个数,填空完成程序。
1#include<
2main()
3{floata,b,c,t;
4scanf(“%f%f%f”,_________);
5if(a>
b){t=a;
a=b;
b=t;
}
6if(a>
c){t=a;
a=c;
c=t;
7if(b>
c){t=b;
b=c;
8printf(“%,%,%”,___________);
调试无语法错误后,分别使用下列测试用例对上述程序进行测试:
(2)-86
(3)33000
3、下面的程序功能是从一个3行4列的矩阵中找出最小的那个元素的值,以及其所在的行号和列号,填空完成程序。
1main()
2{inti,j,row=0,colum=0,min;
3inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
4min=a[0][0];
5for(i=0;
i<
=2;
i++)
6for(j=0;
j<
=3;
j++)
7if(____________________)
8{min=a[i][j];
9row=i;
10colum=j;
11printf(“min=%d,row=%d,colum=%d\n”,min,row,colum);
输出结果为:
_______________________________________。
四、分析讨论
1、程序1的第6行和第7行可以用条件表达式_____________________代替。
2、假设a,b,c,d均为整型,以下语句借助于中间变量t把a,b,c,d的值进行交换,即把b中的值给a,把c中的值给b,把d中的值给c,把a中的值给d。
填空:
________________________________________________。
3、若有inti,j;
对于一个二维数组a[5][6],若要显示第3行的所有元素(从第0行计数),引用语句为______________________________________。
五、进一步实验
编程实现找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点。
实训二数学问题
1、学会利用C语言程序解决数学问题;
2、熟悉常用数学函数的作用及用法;
3、熟练掌握条件语句及循环控制等语句。
二、实验原理和程序算法
1、C语言系统提供了很多标准函数即库函数,用户不必关心这些函数的构成可以直接使用它们。
调用格式:
#include“”或#include“”。
2、数a判断条件a%2==0,奇数判断条件:
a%2==1。
3、和的做法sum+=t;
通过循环语句改变加数t,不断增加sum的值。
1、调用库函数,求以下的函数值:
1.cos2)lg903)4)
5)tan
1)
a)#include“”
b)main()
c){floatc;
d)c=cos;
e)printf(“c=%\n”,c);
_____________________
参考库函数说明,完成其他程序,第4行分别表示为:
2)____________________________运行结果为:
_________________
3)____________________________运行结果为:
4)____________________________运行结果为:
5)____________________________运行结果为:
2、下程序能够求出0~100之间全部偶数之和。
2{intm,sum;
3sum=0;
4for(m=0;
m<
=100;
________)
5______________________________
6printf(“sum=%d\n”,sum);
运行结果为:
__________________________
3、用
公式求π的近似值,直到最后一项的绝对值小于10-4为止。
1#include“”
2main()
3{ints;
4floatn,t,pi=0;
5t=n=s=;
6while(fabs(t)>
=1e-4)
7{pi=pi+t;
8n+=______;
9s=-s;
10t=________;
11pi*=4;
12printf(“pi=%f\n”,pi);
运行结果为:
_____________________________________________________
4、打印形状为直角三角形的九九表。
1
24
369
481216
510152025
61218243036
7142128354249
816243240485664
91827364554637281
2{inti,j,k;
3printf(“*”);
4for(i=1;
10;
5printf(“%4d”,i);
6printf(“\n”);
7for(j=1;
8{printf(“%2d”,j);
9for(k=1;
k<
=j;
k++)
10printf(“%4d”,______);
11printf(“\n”);
}}
12
总结循环语句的不同类型和用法。
五、进一步实验编程求
实训三数学应用题
1、通过简单数学应用问题的解决,建立利用C语言解决实际问题的初步认识;
2、掌握基本语句的应用,以及特类问题的常用算法。
二、实验内容和步骤
1、输入矩形的两条边长,求矩形的面积。
1#include“”
3{floata,b,area;
4scanf(“%f,%f”,&
5area=a*b;
6printf(“a=%f,b=%f,area=%f\n”,a,b,area);
(1),运行结果:
(2)160,55运行结果:
2、以下程序能够判断任意年份是否闰年。
1main()
2{intyear,leap;
3scanf(“%d”,&
year);
4if(_____________________________________________)leap=1;
5elseleap=0;
6if(______)printf(“%dis”,year);
7elseprintf(“%disnot“,year);
8printf(“aleapyear.\n”);
(1)1996运行结果:
(2)2000运行结果:
(3)2003运行结果:
3、递增的牛群:
若一头小母牛,从第四年开始每年生一头母牛,按此规律,第n年时有多少头母牛。
i.main()
ii.{
iii.inti,year,f,f1,f2,f3;
iv.printf(“enteryear:
”);
v.scanf(“%d”,&
vi.for(i=1;
=year;
vii.{if(i<
4)f=f1=f2=f3=1;
viii.else{________________________________}
ix.printf(“i=%2d,n=%3d\n”,i,f);
(1)5运行结果:
(2)7运行结果:
4、换零钱。
把一元钱全兑换成硬币,有多少种兑换方法。
2{inti,j,k,n;
3n=100;
4k=0;
5for(i=0;
=n/5;
6for(j=0;
___________;
7{printf(“5cent=%d\t2cent=%d\t1cent=%d\n”,i,j,n-i*5-j*2);
8k++;
9printf(“totaltimes=%d\n”,k);
记录运行结果,其中totaltimes=_____________。
三、分析讨论
1、if(leap==1)可以等价为if(__________)或if(______________);
if(leap==0)可以等价为if(________________)或if(_____________)等。
2、总结在printf函数中可以使用的各转义字符及其功能。
四、进一步实验
从键盘输入三个数,让它们代表三条线段的长度。
请写一个判断这三条线段所组成的三角形属于什么类型(不等边、等腰、等边或不能构成三角形)的C语言程序。
实训四字符串问题
1、学会利用C语言程序给字符串加密和解密;
2、学会利用C语言程序给字符串插入或删除指定字符;
3、熟悉常用的字符、字符串函数。
1、字符在计算机系统中的存放方式是ASCII码,用特定的ASCII码值代表特定字符。
A~Z:
(65-90),a~z:
(97~122)
2、字符串可以通过字符数组组织起来,例如:
a[30]=”student”;
通过数组下标分别引用各个元素。
3、常见的字符函数有putchar(),getchar(),字符串函数有puts(),gets(),strcpy(),strcmp(),
strlen(),strlwr(),strupr()等。
1、为了使电文保密,往往按照一定规律将其转换成密码,收报人再按照约定的规律将其译回原文。
例如有以下规律:
将A变成E,a变成e,即变成其后第4个字母,W变成A,X变成B,Y变成C,Z变成D。
任意输入一个字符串对其加密,完成程序。
1、#include<
2、main()
3、{charc;
4、printf(“pleaseinputastring:
\n”);
/*请输入一个字符串*/
5、while(c=getchar()!
=’\n’)
6、if(c>
=’a’&
&
c<
=’z’||c>
=’A’&
=’Z’)
7、{c=_____________;
8、if(c>
’Z’&
=’Z’+4||c>
’z’)_____________;
9、printf(“%d”,c);
(1)student运行结果:
(2)holidy运行结果:
2、编写一个函数del_str(chara[],charb[],intn),实现将指定位置的字符删除。
1、intLen=10;
2、voiddel_str(chara[],charb[],intn)
3、{inti,j=0;
4、for(i=0;
Len;
5、if(_______________)
6、{___________________;
7、__________________;
8、#include<
9、main()
10、{charstr1[10],str2[10];
11、intn;
12、printf(“enterthestring:
13、gets(str1);
14、printf(“enterthepositionofthestringdeleted:
15、scanf(“%d”,&
n);
16、del_str(str1,str2,n);
17、printf(“thenewstringis:
%s”,str2);
(1)student3运行结果:
(2)happyholidy5运行结果:
3、输入三个字符串,要求找出最大者,完成程序。
3、{charmax[20];
4、charstr[3][20];
5、inti;
6、for(i=0;
3;
7、gets(str[i]);
8、if(strcmp(str[0],str[1])>
0)____________________;
9、else__________________________;
10、if(_____________________)strcpy(max,str[2]);
11、printf(“\nthelargetstringis:
\n”,max);
(1)studentteacherstudy运行结果:
(2)englishmathcprogram运行结果:
1、程序1的第8行,完成什么功能____________________________。
2、字符数组长度若为10,当从键盘输入多于10个字符时,系统如何处理。
3、如何引用一维数组、多维数组以及字符数组
4、总结常用字符、字符串函数的用法。
1、有一行文字,要求删去某个字符。
此行文字和要删去的字符均由键盘输入,要删
去的字符以字符形式输入。
2、设计两个函数strupr(charstr[])和strlwr(charstr[])将一个字符串中的字母全部变成大写或小写。
实训五统计问题
1、学会利用C语言程序针对给定条件进行各类统计;
统计问题记载即查找整个范围,对满足条件的项目进行统计,一般要用到if条件语句和计数器变量。
1、统计100以内的全部素数个数并逐个输出。
1、#include<
2、main()
3、{intm,k,i,num=0;
4、for(m=3;
100;
m+=2)
5、{k=_______________;
6、for(_________;
=k;
7、if(m%i==0)break;
8、if(_________){printf(“%d”,m);
num++;
9、if(n%10==0)printf(“\n”);
调试无语法错误后,运行结果:
2、输入一行字符,统计其中有多少个单词,单词之间用空格隔开。
10、#include<
11、main()
12、{charstring[81];
13、inti,num=0,word=0;
14、charc;
15、_______________________;
/*从键盘接收一个字符串*/
16、for(i=0;
(c=_____________)!
=’\0’;
17、for(c==’‘)word=0;
18、elseif(word==0)
19、{word=1;
20、num++;
21、printf(“Thereare%dwordsintheline.\n”,num);
(1)iamastudent.运行结果:
(2)icanusecomputerwell.运行结果:
_________________________
从键盘人一输入一个整数,求出其中0的个数和最大的数字。
实训六排序问题
熟练掌握C语言程序的各种排序方法。
1、起泡法排序原理:
将相邻两个数比较,将小的调到前头。
2、选择法排序原理:
将所有数中的最小数放到第一个位置,再从剩下的数中找出最大数放到第二个位置,以此类推。
1、用起泡法对10个数排序(有小到大),完成程序。
1、main()
2、{inta[10];
3、inti,j,t;
4、printf(“input10numbers:
5、for(i=0;
6、scanf(“%d”,&
a[i]);
7、printf(“\n”);
8、for(j=1;
=9;
9、for(i=0;
_______________;
i++);
10、if(____________________)
11、{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
12、printf(“thesortednumbers:
13、for(______________;
________________;
14、printf(“%d”,a[i]);
(1)2304167895运行结果:
(2)9753124680运行结果:
2、用选择法对数组中10个整数按由小到大排序。
编写sort(intarray[],intn)函数实现此功能。
1、voidsort(intarray[],intn)
2、{inti,j,k,t;
3、for(i=0;
__________;
4、{k=i;
5、for(_____________;
n;
6、if(__________________)k=j;
7、{t=array[k];
array[k]=array[i];
array[i]=t;
8、main()
9、{inta[10],i;
10、printf(“enterthearray:
11、for(_______________________)/*从键盘输入10个数字存入a数组*/
12、scanf(______________________________);
13、sort(_______________________);
/*函数调用*/
14、printf(“thesortedarray:
15、for(_______________________________)/*输出数组*/
16、printf(______________________);
17、printf(“\n”);
3、将一个数组中的值按照逆序重新存放。
例如,原来顺序为6,5,4,3,2。
要求改为2,3,4,5,6。
1、#defineLEN5
3、{inta[LEN],b[LEN],i,j;
LEN;
5、scanf(“%d”,&
6、for(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 计划 指导书