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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

124题干.docx

1、124题干第1题 字符串查找源码:#include void fun(char *s, char c) int i, j, n;/*found*/ for(i=0; si!=_1_ ; i+) if(si=c) /*found*/ n=_2_ ; while(si+1+n!=0) n+; for(j=i+n+1; ji; j-) sj+1=sj;/*found*/ sj+1=_3_ ; i=i+1; main() char s80=baacda, c; printf(nThe string: %sn,s); printf(nInput a character: ); scanf(%c,&c);

2、 fun(s,c); printf(nThe result is: %sn,s);答案:#include void fun(char *s, char c) int i, j, n;/*found*/ for(i=0; si!=0 ; i+) /控制循环到字符串结束标志0 if(si=c) /*found*/ n=0 ; /将n的值初始化为0,以记录起始点 while(si+1+n!=0) n+; /记算之后的字符数 for(j=i+n+1; ji; j-) sj+1=sj; /依次向后移动一位,自后向前/*found*/ sj+1=c ; /将c插入到指定位置 i=i+1; /避免反复选中第

3、一个符合条件的字符 main() char s80=baacda, c; printf(nThe string: %sn,s); printf(nInput a character: ); scanf(%c,&c); fun(s,c); printf(nThe result is: %sn,s);第2题 数组计算源码: #include double fun ( int x)/*found*/ int sum = 0.0; int c=0, i=0; while (xi != 0) if (xi 0) sum += xi; c+; i+; /*found*/ sum = c; return s

4、um;main( ) int x1000; int i=0; printf( nPlease enter some data (end with 0): ); do scanf(%d, &xi); while (xi+ != 0); printf(%fn, fun ( x );答案:#include double fun ( int x)/*found*/ double sum = 0.0; /sum是应该返回的值,要和函数返回值类型相同 int c=0, i=0; while (xi != 0) if (xi 0) sum += xi; c+; 啊 i+; /*found*/ sum /=

5、c; /除号写反了 return sum;main( ) int x1000; int i=0; printf( nPlease enter some data (end with 0): ); do scanf(%d, &xi); while (xi+ != 0); printf(%fn, fun ( x );第3题 公式计算 源码: #include double fun(int n)main() int n; double s; printf(nPlease enter N:); scanf(%d, &n); s = fun(n); printf(the result is: %fn,

6、s);答案:#include double fun(int n) double s=0,t; int i,mu=0; for(i=1;i=n;i+) /注意循环中的语句顺序 mu+=i; t=1.0/mu; s+=t; return s;main() int n; double s; printf(nPlease enter N:); scanf(%d, &n); s = fun(n); printf(the result is: %fn, s);第4题 数字处理源码: #include unsigned long fun(unsigned long n) unsigned long x=0,

7、 s, i; int t; s=n;/*found*/ i=_1_;/*found*/ while(_2_) t=s%10; if(t%2=0)/*found*/ x=x+t*i; i=_3_; s=s/10; return x;main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n); printf(nThe result is: %ldn,fun(n);答案:#include unsigned long fun(unsigned long n) unsi

8、gned long x=0, s, i; int t; s=n;/*found*/ i=1; /i是用来从1-10-100-1000-10000这样来变化的/*found*/ while(s!=0) /当除到0的时候就停止 t=s%10; if(t%2=0)/*found*/ x=x+t*i; i=i*10; /第一次在末尾取出的数乘1即可,以后要不断地乘10增位 s=s/10; return x;main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n);

9、printf(nThe result is: %ldn,fun(n);第5题 二维数组源码: #include #define M 5/*found*/int fun(int n, int xx) int i, j, sum=0; printf( nThe %d x %d matrix:n, M, M ); for( i = 0; i M; i+ ) for( j = 0; j M; j+ )/*found*/ printf( %f , xxij ); printf(n); for( i = 0 ; i n ; i+ ) sum += xxii+xxi n-i-1 ; return( sum

10、);main( ) int aaMM=1,2,3,4,5,4,3,2,1,0, 6,7,8,9,0,9,8,7,6,5,3,4,5,6,7; printf ( nThe sum of all elements on 2 diagnals is %d.,fun( M, aa );答案:#include #define M 5/*found*/int fun(int n, int xxM) /定义二维数组 列坐标必须有 int i, j, sum=0; printf( nThe %d x %d matrix:n, M, M ); for( i = 0; i M; i+ ) for( j = 0;

11、j M; j+ )/*found*/ printf( %d , xxij ); /整型二维数组里面存储整型元素,应用%d printf(n); for( i = 0 ; i n ; i+ ) sum += xxii+xxi n-i-1 ; return( sum );main( ) int aaMM=1,2,3,4,5,4,3,2,1,0, 6,7,8,9,0,9,8,7,6,5,3,4,5,6,7; printf ( nThe sum of all elements on 2 diagnals is %d.,fun( M, aa );第6题 数字处理源码: #include void fun

12、(int a, int b, long *c)main() int a,b; long c; printf(Input a b:); scanf(%d%d, &a, &b); fun(a, b, &c); printf(The result is: %ldn, c);答案:#include void fun(int a, int b, long *c) /*此题比较简单,需要注意的是*c作为参数的应用 这个函数没有返回值,那么在主函数中 是如何改变了c的值的呢?*/ int a_g,a_s,b_g,b_s; a_g=a%10; a_s=a/10; b_g=b%10; b_s=b/10; *c=

13、a_s*1000+a_g*10+b_g*100+b_s; /这里要用*c,不能用cmain() int a,b; long c; printf(Input a b:); scanf(%d%d, &a, &b); fun(a, b, &c); printf(The result is: %ldn, c);第7题 链表操作源码: #include #include #define N 6typedef struct node int data; struct node *next; NODE;void fun(NODE *h) NODE *p, *q; int t;/*found*/ p = _1

14、_ ; while (p) /*found*/ q = _2_ ; while (q) /*found*/ if (p-data _3_ q-data) t = p-data; p-data = q-data; q-data = t; q = q-next; p = p-next; NODE *creatlist(int a) NODE *h,*p,*q; int i; h = (NODE *)malloc(sizeof(NODE); h-next = NULL; for(i=0; idata=ai; q-next = NULL; if (h-next = NULL) h-next = p =

15、 q; else p-next = q; p = q; return h;void outlist(NODE *h) NODE *p; p = h-next; if (p=NULL) printf(The list is NULL!n); else printf(nHead ); do printf(-%d, p-data); p=p-next; while(p!=NULL); printf(-Endn); main() NODE *head; int aN= 0, 10, 4, 2, 8, 6 ; head=creatlist(a); printf(nThe original list:n)

16、; outlist(head); fun(head); printf(nThe list after sorting :n); outlist(head);答案:#include #include #define N 6typedef struct node int data; struct node *next; NODE;void fun(NODE *h) NODE *p, *q; int t;/*found*/ p = h-next ; /使p指向第一个节点 while (p) /*found*/ q = p-next ; /q指向p的下一个节点 while (q) /*found*/

17、if (p-data q-data) /实际上就是一个复杂的选择法排序 /要注意用什么进行比较,又用什么进行交换! t = p-data; p-data = q-data; q-data = t; q = q-next; p = p-next; NODE *creatlist(int a) NODE *h,*p,*q; int i; h = (NODE *)malloc(sizeof(NODE); h-next = NULL; for(i=0; idata=ai; q-next = NULL; if (h-next = NULL) h-next = p = q; else p-next = q

18、; p = q; return h;void outlist(NODE *h) NODE *p; p = h-next; if (p=NULL) printf(The list is NULL!n); else printf(nHead ); do printf(-%d, p-data); p=p-next; while(p!=NULL); printf(-Endn); main() NODE *head; int aN= 0, 10, 4, 2, 8, 6 ; head=creatlist(a); printf(nThe original list:n); outlist(head); fu

19、n(head); printf(nThe list after sorting :n); outlist(head);第8题 链表操作源码: #include #include typedef struct aa int data; struct aa *next; NODE;int fun ( NODE *h ) int max=-1; NODE *p;/*found*/ p=h ; while(p) if(p-datamax ) max=p-data;/*found*/ p=h-next ; return max;outresult(int s, FILE *pf) fprintf(pf,

20、nThe max in link : %dn,s);NODE *creatlink(int n, int m) NODE *h, *p, *s; int i; h=p=(NODE *)malloc(sizeof(NODE);h-data=9999; for(i=1; idata=rand()%m; s-next=p-next; p-next=s; p=p-next; p-next=NULL; return h;outlink(NODE *h, FILE *pf) NODE *p; p=h-next; fprintf(pf,nTHE LIST :nn HEAD ); while(p) fprin

21、tf(pf,-%d ,p-data); p=p-next; fprintf(pf,n); main() NODE *head; int m; head=creatlink(12, 100); outlink(head , stdout); m=fun(head); printf(nTHE RESULT :n); outresult(m, stdout);答案:#include #include typedef struct aa int data; struct aa *next; NODE;int fun ( NODE *h ) int max=-1; NODE *p;/*found*/ p

22、=h-next ; /头结点一般没有数据域。所以要指向其后的第一个节点 while(p) if(p-datamax ) max=p-data;/*found*/ p=p-next ; /移动p指针到下一个节点,而不是总是第一个节点 return max;outresult(int s, FILE *pf) fprintf(pf,nThe max in link : %dn,s);NODE *creatlink(int n, int m) NODE *h, *p, *s; int i; h=p=(NODE *)malloc(sizeof(NODE);h-data=9999; for(i=1; i

23、data=rand()%m; s-next=p-next; p-next=s; p=p-next; p-next=NULL; return h;outlink(NODE *h, FILE *pf) NODE *p; p=h-next; fprintf(pf,nTHE LIST :nn HEAD ); while(p) fprintf(pf,-%d ,p-data); p=p-next; fprintf(pf,n); main() NODE *head; int m; head=creatlink(12, 100); outlink(head , stdout); m=fun(head); printf(nTHE RESULT :n); outresult(m, stdout);第9题 二维数组源码: #include void fun(int (*s)10, int *b, int *n, int mm, int nn)main() int w1010 = 33,33,33,33,44,44,44,44,55,55,55,55,i,j ; int a100 = 0, n = 0 ; printf(The matrix:n) ; for(i = 0 ; i 3 ; i+) for(j = 0 ; j 4 ; j+) printf(%3d,wij) ; printf(n) ;

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

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