完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
9个回答
|
|
1.程序分析:谭浩强的书中答案有问题。
2.程序源代码: main() { int number[10]; input(number); max_min(number); output(number); } input(number) int number[10]; {int i; for(i=0;i《9;i++) scanf(“%d,”,&number[i]); scanf(“%d”,&number[9]); } max_min(array) int array[10]; {int *max,*min,k,l; int *p,*arr_end; arr_end=array+10; max=min=array; for(p=array+1;p if(*p》*max) max=p; else if(*p《*min) min=p; k=*max; l=*min; *p=array[0];array[0]=l;l=*p; *p=array[9];array[9]=k;k=*p; return; } output(array) int array[10]; { int *p; for(p=array;p printf(“%d,”,*p); printf(“%dn”,array[9]); } |
|
|
|
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
1.程序分析: 2.程序源代码: main() { int number[20],n,m,i; printf(“the total numbers is:”); scanf(“%d”,&n); printf(“back m:”); scanf(“%d”,&m); for(i=0;i scanf(“%d,”,&number[i]); scanf(“%d”,&number[n-1]); move(number,n,m); for(i=0;i printf(“%d,”,number[i]); printf(“%d”,number[n-1]); } move(array,n,m) int n,m,array[20]; { int *p,array_end; array_end=*(array+n-1); for(p=array+n-1;p》array;p--) *p=*(p-1); *array=array_end; m--; if(m》0) move(array,n,m); } |
|
|
|
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
圈子,问最后留下的是原来第几号的那位。信盈达嵌入式企鹅要妖气呜呜吧久零就要 1. 程序分析: 2.程序源代码: #define nmax 50 main() { int i,k,m,n,num[nmax],*p; printf(“please input the total of numbers:”); scanf(“%d”,&n); p=num; for(i=0;i *(p+i)=i+1; i=0; k=0; m=0; while(m { if(*(p+i)!=0) k++; if(k==3) { *(p+i)=0; k=0; m++; } i++; if(i==n) i=0; } while(*p==0) p++; printf(“%d is leftn”,*p); } |
|
|
|
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
1.程序分析: 2.程序源代码: main() { int len; char *str[20]; printf(“please input a string:n”); scanf(“%s”,str); len=length(str); printf(“the string has %d characters.”,len); } length(p) char *p; { int n; n=0; while(*p!=‘ ’) { n++; p++; } return n; } 【程序71】 题目:编写input()和output()函数输入,输出5个学生的数据记录。 1.程序分析: 2.程序源代码: #define N 5 struct student { char num[6]; char name[8]; int score[4]; } stu[N]; input(stu) struct student stu[]; { int i,j; for(i=0;i { printf(“n please input %d of %dn”,i+1,N); printf(“num: ”); scanf(“%s”,stu[i].num); printf(“name: ”); scanf(“%s”,stu[i].name); for(j=0;j《3;j++) { printf(“score %d.”,j+1); scanf(“%d”,&stu[i].score[j]); } printf(“n”); } } print(stu) struct student stu[]; { int i,j; printf(“nNo. Name Sco1 Sco2 Sco3n”); for(i=0;i{ printf(“%-6s%-10s”,stu[i].num,stu[i].name); for(j=0;j《3;j++) printf(“%-8d”,stu[i].score[j]); printf(“n”); } } main() { input(); print(); } |
|
|
|
题目:创建一个链表。
1.程序分析: 2.程序源代码: /*creat a list*/ #include “stdlib.h” #include “stdio.h” struct list { int data; struct list *next; }; typedef struct list node; typedef node *link; void main() { link ptr,head; int num,i; ptr=(link)malloc(sizeof(node)); ptr=head; printf(“please input 5 numbers==》n”); for(i=0;i《=4;i++) { scanf(“%d”,&num); ptr-》data=num; ptr-》next=(link)malloc(sizeof(node)); if(i==4) ptr-》next=NULL; else ptr=ptr-》next; } ptr=head; while(ptr!=NULL) { printf(“The value is ==》%dn”,ptr-》data); ptr=ptr-》next; } } |
|
|
|
题目:反向输出一个链表。
1.程序分析: 2.程序源代码: /*reverse output a list*/ #include “stdlib.h” #include “stdio.h” struct list { int data; struct list *next; }; typedef struct list node; typedef node *link; void main() { link ptr,head,tail; int num,i; tail=(link)malloc(sizeof(node)); tail-》next=NULL; ptr=tail; printf(“nplease input 5 data==》n”); for(i=0;i《=4;i++) { scanf(“%d”,&num); ptr-》data=num; head=(link)malloc(sizeof(node)); head-》next=ptr; ptr=head; } ptr=ptr-》next; while(ptr!=NULL) { printf(“The value is ==》%dn”,ptr-》data); ptr=ptr-》next; }} |
|
|
|
题目:连接两个链表。
1.程序分析: 2.程序源代码: #include “stdlib.h” #include “stdio.h” struct list { int data; struct list *next; }; typedef struct list node; typedef node *link; link delete_node(link pointer,link tmp) {if (tmp==NULL) /*delete first node*/ return pointer-》next; else { if(tmp-》next-》next==NULL)/*delete last node*/ tmp-》next=NULL; else /*delete the other node*/ tmp-》next=tmp-》next-》next; return pointer; } } void selection_sort(link pointer,int num) { link tmp,btmp; int i,min; for(i=0;i { tmp=pointer; min=tmp-》data; btmp=NULL; while(tmp-》next) { if(min》tmp-》next-》data) {min=tmp-》next-》data; btmp=tmp; } tmp=tmp-》next; } printf(“40: %dn”,min); pointer=delete_node(pointer,btmp); } } link create_list(int array[],int num) { link tmp1,tmp2,pointer; int i; pointer=(link)malloc(sizeof(node)); pointer-》data=array[0]; tmp1=pointer; for(i=1;i{ tmp2=(link)malloc(sizeof(node)); tmp2-》next=NULL; tmp2-》data=array[i]; tmp1-》next=tmp2; tmp1=tmp1-》next; } return pointer; } link concatenate(link pointer1,link pointer2) { link tmp; tmp=pointer1; while(tmp-》next) tmp=tmp-》next; tmp-》next=pointer2; return pointer1; } void main(void) { int arr1[]={3,12,8,9,11}; link ptr; ptr=create_list(arr1,5); selection_sort(ptr,5); } |
|
|
|
题目:放松一下,算一道简单的题目。
1.程序分析: 2.程序源代码: main() { int i,n; for(i=1;i《5;i++) { n=0; if(i!=1) n=n+1; if(i==3) n=n+1; if(i==4) n=n+1; if(i!=4) n=n+1; if(n==3) printf(“zhu hao shi de shi:%c”,64+i); } } |
|
|
|
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+.。.+1/n,当输入n为奇数时,调用函数
1/1+1/3+.。.+1/n(利用指针函数) 1.程序分析: 2.程序源代码: main() #include “stdio.h” main() { float peven(),podd(),dcall(); float sum; int n; while (1) { scanf(“%d”,&n); if(n》1) break; } if(n%2==0) { printf(“Even=”); sum=dcall(peven,n); } else { printf(“Odd=”); sum=dcall(podd,n); } printf(“%f”,sum); } float peven(int n) { float s; int i; s=1; for(i=2;i《=n;i+=2) s+=1/(float)i; return(s); } float podd(n) int n; { float s; int i; s=0; for(i=1;i《=n;i+=2) s+=1/(float)i; return(s); } float dcall(fp,n) float (*fp)(); int n; { float s; s=(*fp)(n); return(s); } |
|
|
|
只有小组成员才能发言,加入小组>>
809 浏览 0 评论
1161 浏览 1 评论
2535 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2719 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1100浏览 3评论
198浏览 2评论
464浏览 2评论
378浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
459浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 02:56 , Processed in 1.181707 second(s), Total 65, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号