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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言 题集Word格式.docx

1、j+)来完成左上角的走动:*/int fun(int array33) int i,j,t;for(i=0; for(j=i+1;j+) t=arrayij;arrayij=arrayji;arrayji=t; int i,j;int array33=100,200,300,400,500,600,700,800,900;for(j=0;%7d,arrayij);fun(array);Converted array:3、 请编一个函数fun(int *a,int n,int *odd,int *even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和:形参n给了数组中数据的个数:利用

2、指针odd返回奇数之和,利用指针even返回偶娄这和:数组中的值依次为:1,8,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8:#define N 20该题的算法是:用for()循环一步一步地找元素,用if(!ai%2)来判断是否是奇数,%运算是求余运算,当对2求余为1时表示原数为奇数,否则为偶数:fun(int *a,int n,int *odd,int *even) int i; *even=0;*odd=0;n;if(!(ai%2)*even+=ai; else*odd+=ai; int aN=1,9,2,3,11,6,i,n=6,odd,even;T

3、he original data is:i+) printf(%5d,*(a+i);/n/nfun(a,n,&odd,&even);The sum of odd numbers:%d/n,odd);The sum of even number:,even);4、 要求程序的功能是:把20个随机数存入一个数组,然后输出该数组中的最小值:其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义:#define VSIZE 20int vectorVSIZE;该题的算法是用一个变量(j)来存储最小值元素的下标,在循环过程中让每个元素都与原最小值元素进行大小比较(if(listilistj),

4、如发现更小的则让j重新拥有最小值元素的下标(j=i):int fun(int list,int size) int i,j=0;for(i=1;size;if(listi=2)位的整数,函数求出w的后n-1位的数作为函数值返回:w值为5923,则函数返回923;w值为923则函数返回23:/* 注:由于unsigned型整数在0-65535这间,只要它大于10000则对10000求余即得出后面4位,否则如果大于1000则对1000求余得出后3位数,这样一层一层往小的判断:由于return的作用除了返回值以外,还有当执行到return时就跳出该程序,所以可以连续的if()语句: */unsign

5、ed fun( unsigned w ) if(w=10000) return w%10000;if(w=1000) return w%1000;=100) return w%100;return w%10; unsigned x;printf( enter a unsigned integer number : );scanf( %ux);if(x=k)用于判断在上一个for()循环中i能否走到k,如果能则表示在2到k-1的数都不能整除k,即k为素数*/int fun( int lim, int aaMAX) int i,j=0,k;for( k=2; klim; k+) for( i=2;

6、 i=k) aaj+=k; int limit,i,sum;int aaMAX;/n input a integer number: %dlimit);sum=fun(limit,aa);sum; if(i%10=0&i!=0), aai);9、 请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回:二维数组中的值在主函数中赋予:二维数组中的值为则函数值为61:#define M 4#define N 5该题的第一个for()循环是计算矩阵的最上一行和最下一行的总和,第二个for()是计算除两头元素以外的最左一列和最右一列的元素的和,最后sun就是周边元素的和:int fun

7、(int aMN)int sum=0,i;N;sum+=a0i+aM-1i;M-1;i+);sum+=ai0+aiN-1;return sum ; int aaMN=1,3,5,7,9,2,9,9,9,4,6,9,9,9,8,1,3,5,7,0;int i,j,y;The original data is :M;j+) printf(%6d,aaij);y=fun(aa);/nThe sum: %d/n,y);10、 请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列:例如,原来的字符串为CEAedca,排序后输出为CedcEAa:/*该题采用的排序法是选择法

8、进行降序排序,算法是用外for()循环从字符串的前端往后端走动,每走动一个字符都用内嵌的for()循环在该字符后找出最小的字符与该字符进行换位:直到外for()循环走到最后一个字符:此外,此题还要注意把首尾字符除开,即在最外层for()循环中从1开始,只到num-2即可:int fun(char *s,int num)num-2;for(j=i+1;num-1;if(sisj) t=si;si=sj;sj=t; char s10;输入7个字符的字符串:gets(s);fun(s,7);/n%s,s);11、 请编一函数void fun(int ttMN,int ppN),tt指向一个M行N列的

9、二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中,二维数组中的数已在主函数中赋予:#include conio.hstdio.h#define M 3#define N 4该题用for(i=0;i+)来控制一列一列地找,而内嵌循环for(j=0;j+)用于控制同列内元素的比较:多重循环的嵌套总是最里层循环变化最快,即外层循环改变一个值,内层循环就要循环完一次,对于多重循环一定要好好去体会和理解,在多数题目中都要用到多重循环(一般为二重):void fun(int ttMN,int ppN) int i, j; pp=tt0i;for(j=0;if(ttjippi) ppi=t

10、tji; int tMN= 22,45,56,30,19,33,45,38,20,22,66,40;int pN,i,j,k;the original data is:,tij);fun(t,p);/nthe result is:for(k=0;kstrlen(p)p=ai;*max=p; char ss1081,*ps;int n,i=0;enter string:gets(ssi);puts(ssi);while(!strcmp(ssi,*)=0)i+;n=i;fun(ss,n,&ps);/nmax=%s/n,ps);13、 请编一个函数fun,其中n所指存储单元中存放了数组中元素的个数:

11、函数的功能是:删除所有值为y的元素:数组元素中的值和y的值由主函数通过健盘读入:#define M 20该题的算法是,用for()循环控制元素逐一判断数组元素是否等于y,若不等则赋给新数bb,由于删除的关系j总是小于或等于i,故而可用bb作为新数组,与第6题相似:还要注意*n=j;如果没有这个语句则不能传回新数组的个数,另外也不能换成n=&j这点是用指针时常犯的错误,切记!void fun (int bb, int *n,int y) int i,j=0;for( i=0;*n;if(bbi!=y) bbj+=bbi;*n=j; int aaM,n,y,k;/nplease enter n:%

12、dn);/nenter %d positive number:, n);for( k=0; k+) scanf( aak); /n k+) printf( %5d, aak); /nenter a number to deleted:y);fun(aa,&n,y);the data after deleted %d:, y);,aak);4、 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出6:由于小串中只有2个字符所以可用stri=sbustr0&s

13、tri+1=substr1来判断小串是否与长串当前位置(stri)相同(即出现一次):因而只要让长串当前位置逐一向后移即可(用for()循环来完成):int fun(char *str,char *substr) int i,n=0,s=strlen(str);s;if(stri=substr0)&(stri+1=substr1)n+;return n;char str81,substr3;int n; clrscr();enter 1:gets(str);enter 2:gets(substr);puts (str);puts(substr);n=fun(str,substr);n=%d/n

14、,n);5、 请编写一个函数int fun(int x),它的功能是:判断整数x是否是同构数:若是同构数,函数返回1;否则返回0:所谓“同构数”是指这样的数,它出现在它的平方数的右边:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数:x的值由主函数从健盘读入,要求不大于100:由“同构数”的定义可得只要求出平方数或平方数的最后一位或平方数的最后两位然后与x进行判断即可,分别求余后即得出平方数的右边:int fun (int x) int xx=x * x;if(xx=x/xx%10=x/xx%100=x) return 1;else return 0; int x,y;/n p

15、lease enter a integer numbers: if(x100)printf(data eror!exit(0);y=fun(x);if(y) printf(%d yes/n,x);%d no!16、 请编写函数fun,函数的功能是:在字符串中所有数字字符前加一个$字符:例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5:注意:部分源程序给出如下:该题用while()循环来控制原字符串从头走到尾,在走动过程中判断是当前字符是否是数字,若是则在新串中先连一个$然后再连原字符,否则直接连原字符:一定要注意指针和下标的变化:最后要把新串拷贝到s所指的地址中,注意不能用s=a;若用了,则实参数组还是原字符串:void fun( char *s)char a100;int i=0;while(*s)if(*s=0*s9) ai+=ai+=*s+;else ai

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2