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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计算机C语言例题.docx

1、计算机C语言例题11.填空题请补充main函数,该函数的功能是:打印出11000中满足:个位数字的立方等于其本身所有数。本题的结果为:1 64 125 216 729注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数main的横线上填入所编写的若干表达式或语句。试题程序:#include main() int i,g; clrscr(); for(i=1;i1000;i+) g=【1】; if(【2】) printf(%4d,i); 【1】i%10 【2】g*g*g=i【解析】填空1:将一个整数对10求余,就得到这个数的个位数字,并存于变量g中。填空2:如果个位数

2、字的立方等于这个数本身,则将这个数输出。2. 改错题下列给定函数中,函数fun()的功能是:统计字符串中各元音字母(即A,E,I,O,U)的个数。注意:字母不分大小写。例如,输入THIs is a boot,则应输出是1 0 2 2 0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include /*found*/fun(char *s, int num5) int k, i=5; for(k=0;k=0) numi+; main() char s181; int num15, i; clrscr()

3、; printf(nPlease enter a string: );gets(s1); fun(s1, num1); for(i=0;i5;i+) printf(%d ,num1i); printf(n);(1)错误:fun(char *s, int num5)正确:void fun(char *s, int num5)(2)错误:numi=0;正确:numk=0;(3)错误:switch(s)正确:switch(*s)【解析】switch语句说明:(1)switch后的表达式,可以是整型或字符型,也可以是枚举类型的。在新的ANSI C标准中允许表达式的类型为任何类型。(2)每个case后的

4、常量表达式只能是常量组成的表达式,当switch后的表达式的值与某一个常量表达式的值一致时,程序就转到此case后的语句开始执行。如果没有一个常量表达式的值与switch后的值一致,就执行default后的语句。(3)各个case后的常量表达式的值必须互不相同,不然的话程序就不知该跳到何处开始执行。(4)各个case的次序不影响执行结果,一般情况下,尽量使用出现机率大的case放在前面(为什么,等学到数据结构就知道了)。(5)在执行完一个case后面的语句后,程序流程转到下一个case后的语句开始执行。千万不要理解成执行完一个case后程序就转到switch后的语句去执行了。在本例中,其他错误

5、都比较简单,而且我们在前面已经介绍过了。3. 编程题编写一个函数fun(),它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。例如,分别输入下面两个字符串:FirstStringSecondString则程序输出:FirstStringSecondString注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序: #include #includevoid fun(char p1,char p2) main() char s180,s240; clrscr();

6、printf(Enter s1 and s2:n) ; scanf(%s%s,s1,s2); printf(s1=%sn,s1); printf(s2=%sn,s2); printf(Invoke fun(s1,s2):n); fun(s1,s2); printf(After invoking:n); printf(%sn,s1);【解析】本题用两个循环,第1个循环的作用是将i走到第1个字符串的末尾。第2个循环的作用是将第2个字符串的字符连到第1个字符串的末尾。void fun(char p1,char p2) int i,j; for(i=0;p1i!=0;i+); /*求出的i为p1字符串

7、的总长度,包括结束标记位*/ for(j=0;p2j!=0;j+) p1i+=p2j; /*将p2字符串连在p1字符串后面*/ p1i=0; /*在字符串最后加上结束标记符*/21.填空题请补充函数fun(),该函数的功能是:把数组aa中元素下标为偶数的元素按从小到大重新保存在原数组中,其它元素位置不变。例如,输入33,67,42,58,25,76,85,16,41,56,则输出25,67,33,58,41,76,42,16,85,56。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include#d

8、efine N 10void fun(int aa) int i, j, t; for (i=0; iN;i=i+2) for(【1】; jN; j=j+2) if(【2】) t=aaj; aaj=aai; aai=t; main() int i; int aaN=33,67,42,58,25,76,85,16,41,56; clrscr(); printf(n* original list *n); for(i=0; iN; i+) printf(%4d,aai); fun(aa); printf(n* new list *n); for(i=0; iaaj【解析】填空1:本题采用选择法进行

9、排序。选择法的算法思路是:如果有n个数则从头到倒数的第2个数一个一个往后走动,每走动一个数总是将这个数与其后的所有数进行两两比较,在比较时按题目要求的顺序将进行比较的这两个数排序(即交换)。所以此空填j=i,而填j=i+2也可以,因为如果第一次执行循环体时j=i,则aai和aaj是同一个元素,不会引起任何改变,所以可以从它的下一次循环开始,即j=i+2。填空2:两两比较时,如果后面的元素比前面的元素小,则将两数交换,实现 从小到大排列。2. 改错题下列给定程序中,函数fun()的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:不要

10、改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include int fun( int m) int i,k; for (i=m+1; ;i+) for (k=2;ki;k+)/*found*/ if (i%k!=0) break;/*found*/ if (ki) return(i); main() int n; clrscr (); printf(nPlease enter n: ); scanf(%d,&n); printf (%dn,fun(n);(1)错误:if(i%k!=0)正确:if(i%k=0) (2)错误:if(k=i)【解析】也许刚接

11、触C语言的学习者对素数的概念不清楚,在这里说明一下,素数就是质数,本题的任务是随便输入一个整数m,然后在m的后面寻找紧跟m的一个质数,作为函数值返回。for (i=m+1; ;i+) 是从m后面的一位开始循环,将m后面一位的值赋予i。然后,我们依次判断m后面的一位是否为素数。for (k=2;ki;k+)if (i%k=0)是一个简单的数学判断问题,判断i被赋予的值与k的余数是否为零。 3. 编程题请编写函数fun(),该函数的功能是:实现B=A+A,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main()函数中输出。例如,输入下面矩阵: 1 2 34 5 67 8 9其转置矩阵为:1

12、4 72 5 83 6 9则程序输出:2 6 106 10 1410 14 18注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #includevoid fun (int a33, int b33) main() int a33=1,2,3,4,5,6,7,8,9,t33; int i, j; clrscr(); fun (a,t); for(i=0; i3; i+) for(j=0;j3;j+) printf(%7d,tij); printf(n); 【解析】在线性代数里面有矩阵转置的概念,行列数相等的二维数组的转置就是行列互换。即转置后的第i行第j列正好对应原矩阵的第j行第i列。若要将矩阵a转置后还存入a中可用程序:int i,j,t;for(i=0;iN;i+)

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

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