ImageVerifierCode 换一换
你正在下载:

C语言.docx

[预览]
格式:DOCX , 页数:12 ,大小:92.97KB ,
资源ID:8005018      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8005018.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言.docx

1、C语言C语言实验报告 学院:建筑与土木工程学院 专业:土木工程 姓名:谢强 学号:1104050712函数和数组一、实验目的:(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。(2)掌握与数组有关的算法(特别是排序算法)。(3)掌握字符数组和字符串的使用方法。(4)能正确定义数组的指针,熟练使用指针访问数组元素。(5)学会使用字符串的指针和指向字符串的指针变量。(6)学会使用指针数组处理多个字符串数据。(7)了解函数的基本结构。(8)理解函数参数传递的机制,理解过程程序设计的思想。(9)理解函数调用的过程。(10)理解函数的嵌套调用和递归调用。(11)了解局部变量和全局变量的使用方法和作

2、用范围。二、实验内容:1.(1)补全下面的程序,程序的功能是求一位数组的中最小元素的值及其所在的下标号。#include stdio.hmain()int i,a10,min, index;for( i=0;i10;i+) /*利用一充循环给数组a赋值*/scanf(“%d”, &ai );for(i=0, min=a0 ,index=1 ;iai) min=ai ;index=i+1; printf(MIN=%d,index=%dn,min,index);(2)模仿1(1)对一个3行4列的矩阵b34,求出其中最大的元素的值及其所在的行号和列号。提示:二维数组有两个下标,极值所在的行标和列表可

3、以使用两个变量(row和col)来表示,先将它们初始化为0,最大值用max表示,先初始化为b00,然后利用双重循环遍历二维数组元素,如果有比最大值大的元素,就用max记录下它的值,用row和col分别记录最新的最大值所在的行号和列号,循环结束后max记录下所出现过的最大值, row和col分别记录最大值所在的行号和列号,最后输出max、row和col的值就完成要求。#include void main() int i,j,row ,col ,max , b34; printf(请输入一个3行4列的矩阵n); for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&bij

4、); max=b00;row=0;col=0; for(i=0;i3;i+) for(j=0;jmax) max = bij; row = i+1; col = j+1; printf(max=%d, row = %d, col = %dn,max,row,col); 2.有下面一个矩阵: 10 15 4 1 23 13 8 7 2 4 8 1 22 9 6 5编写程序,要求完成以下功能:(1) 分别求该矩阵的主次对角线元素之和。(2) 求该矩阵的周边元素之和。(3) 求该矩阵主对角线及其上方元素之和。i=g#includevoid main() int a44=10,15,4,1,23,13

5、,8,7,2,4,8,1,22,9,6,5; int i,j; int sum1=0; /主次对角线之和 int sum2=0; int sum3=0; /周边元素之和 int sum4=0; /主对角线及其上方的元素之和。 for(i=0;i4;i+) for(j=0;j4;j+) printf(%4d,aij); printf(n); for(i=0;i4;i+) for(j=0;j4;j+) if(i=j|i+j=3) sum1+=aij; for(i=0;i4;i+) for(j=0;j4;j+) sum2+=aij; sum3+=sum2-a11-a12-a21-a22; for(i

6、=0;i4;i+) for(j=0;j4;j+) if(i=j) sum4+=aij; printf(此矩阵主次对角线之和为%d 周边元素之和为%d 主对角线及其上方的元素之和为%dn,sum1,sum3,sum4);3有两个字符串S1和S2,编程将S1串中出现的和S2串中相同的字符删掉,输出新的字符串S1。#include #include void main(int argc, char *argv) int i,j,k=0; char s120,s220,s320; printf(请输入字符串s1和s2:n); gets(s1); gets(s2); for(i=0;s1i!=0;i+)

7、 for(j=0;s2j!=0;j+) if(s1i=s2j)/如果相等则代表匹配了字符,则退出内层循环,并且此时s2j!=0 break; if(s2j=0) /如果s2j=0则代码未发生匹配,则存入s3 s3k+=s1i; s3k=0; /此处应用单个=,为赋值,设置字符串结束 printf(新的字符串为:%sn,s3); 4.将字符串S1和S2中的字符按照字符ASC码由小到大的顺序连接在一起形成S3,输出S1和S2和S3。#include #include #define N 8void main() int i,j; char s1=hqwt,s2=alpb,s38,s; printf

8、(s1=%sn s2=%sn,s1,s2); strcat(s1,s2); for(i=1;iN;i+) for(j=0;js1j+1) s=s1j;s1j=s1j+1;s1j+1=s; strcpy(s3,s1); printf(s3=%sn,s3); 5.编写一个函数int isaprime( int x),函数功能是判断参数n是不是素数,是素数返回1,不是返回0.#include int isaprime( int x) int n; if (x = 1) return 0; if (x = 2) return 1; for (n = 2;n x;n+) if (x%n = 0) ret

9、urn 0; return 1; int main(int argc, char* argv) int n,i; printf(请输入一个数:); scanf(%d,&n); i = isaprime(n); if(i = 1) printf(%d是素数n,n); else printf(%d不是素数n,n); return 0;6.在第2题基础上,编写程序判断给定的数组中含有的素数的个数。源程序如下:补全程序并上机验证。(提示:判读素数的功能可以用第2题编写的函数完成)#include stdio.hint isaprime(int n) int i; if (n = 1) return 0

10、; if (n = 2) return 1; for (i=2;i= n/2;i+) if (n%i= 0) return 0; return 1;int isprime( int x ,int n) int j,total=0;for(j=0;jn;j+)if( isaprime(xj) =1)total+;return total;main()int x10,i;for(i=0;i10;i+)scanf(%d,&xi);printf(数组中含有%d个素数,isprime(x,10);7.下面程序使用递归函数实现将一个整数转化成2进制数输出。(给程序填空并添加注释)#include stdi

11、o.hvoid change(int i)if(i=1) change( i/2 );/* 递归调用*/ /正数除以2取商printf(%d,i%2);/正数除以2取余数main()int i;char ch;doprintf(nPlease input an interger!n);scanf(%d,&i); /输入的整数getchar();change(i); /调用change()函数printf(nDo you want to continue? Y or N?);ch=getchar();while(ch=y|ch=Y);8.分析下面两个程序的异同,哪一个能改变a和b的值,为什么?#

12、include stdio.hvoid swap(int x,int y)int z;z=x;x=y;y=z;main()int a,b;a=3;b=5;printf(a=%d,b=%dn,a,b);swap(a,b);printf(a=%d,b=%dn,a,b);#include stdio.hvoid swap(int *x,int *y)int z;z=*x;*x=*y;*y=z;main()int a,b;a=3;b=5;printf(a=%d,b=%dn,a,b);swap(&a,&b);printf(a=%d,b=%dn,a,b); 答: 第二个程序改变a和b的值。因为第二个程序中

13、形参和实参是指针变量,属于参数中的按地址传递,即实参的值能够传递给形参,而形参的改变也会影响到实参。三、实验心得:回想学习C语言 的过程中,我遇到很多困难。 C 语言程序设计到底事有什么用。这门课程是用来做什么的。这些我都不知道,我感觉自己学c语言就是一张白纸。后来慢慢的接触多了,渐渐的有了点认识。说实在的,我对这门课程是充满了好奇心的,可惜我知道的不多,真的。当上机操作程序,经过编译,调试和运行后,出现界面,这些我都不懂,不过我还是想真正的学好这门课程的。通过半个学期的学习,我掌握了基本知识。只是基本而已,但对于好奇的东西我勇于去学习,我觉得我对自己很满意的了。最难的就是修改和删除这两个模块

14、,这也是我们在最后几周要解决的重点问题。 在编写程序中,真的是细节决定成败,因为不管程序的语句是多是少,但是只要有一条语句或语法不正确,就不能使程序得到所需要的结果。没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。困难之时,老师和同学帮助了我,完成了修改和删除。这样以来,整个程序基本上全部完成了,就剩下完善工作了。课程设计结束了,但是这段时间里,我又学到了更多C 知识, 同时我也被提醒以后办事的时候要认真,仔细,考虑周全。也看到了团队精神和互帮互助的重要性。现在我觉得学习c语言不乏味了,而且我觉得学好c语言说不定哪天能发大财,所以我现在对c语言越来越有兴趣了,我想我会在课外更多的跟c语言接触,希望学到更多的东西,同时能够更多的学习到c语言。了解c语言。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1