免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.1 求最大公约数和最小公倍数(15分)#include int fun1( int m, int n) /辗转相除法求m/n的公约数int r; while (n) r=m % n; m=n; n=r; return m; int fun2(int m,int n) /最小公倍数 return m*n/fun1(m,n);int main() int a,b; scanf(%d,%d,&a,&b); /输入 printf(最大公约数:%dn最小公倍数:%dn,fun1(a,b),fun2(a,b); return 0;2排序并插入(15分)#include void InsertionSort(int* arr, int n) / 插入排序 int *last = 0, *next = 0, key = 0, i = 0; for (i = 1; i n; +i) next = arr + i, key = *next; if (key *arr) / 将待插的数据比第一个数据小,直接插到最前面。 for (last = next; next != arr; next = last) *next = *-last; *arr = key; else / 否则从后往前遍历,找到第一个小于关键字的位置插入。 for (last = next; key *-last; next = last) *next = *last; *next = key; void OutPutArray(const int* arr, int n) / 打印一个数组int i; for (i = 0; i n; +i) printf(%d, arri); if(in-1)printf(,); printf(n); void InsertNumber(int* arr, int n) int key = 0, i = 0; InsertionSort(arr, n - 1); / 对之前的n-1个数排序 / OutPutArray(arr, n - 1); / 这里可以打印出来看一下对之前的数据排序是否正确 scanf(%d, &key); / 输入一个数 if (key arr0) / 参照之前的插入排序原理,将这个数插入到数组。 for (i = n-1; 0 i; -i) arri = arri - 1; arr0 = key; else for (i = n-2; key arri; -i) arri + 1 = arri; arr+i = key; int main() int arr10 = 0 ; scanf(%d,%d,%d,%d,%d,%d,%d,%d,%d / 输入9个数 , arr + 0, arr + 1, arr + 2, arr + 3, arr + 4, arr + 5, arr + 6, arr + 7, arr + 8); InsertNumber(arr, 10); / 调用函数,将输入的第10个数插进去。 OutPutArray(arr, 10); / 输出 return (0);3.最大公约数#include int fun1( int m, int n) /辗转相除法求m/n的公约数int r; while (n) r=m % n; m=n; n=r; return m; int main() int a,b; scanf(%d,%d,&a,&b); /输入 printf(%dn,fun1(a,b); return 0;4.奇数球和#includeint main() int n; int sum(int n); scanf(%d,&n); printf(%dn,sum(n); int sum(int n) int b; if(n1) b=sum(n-1)+2*n-1; if(n=1) b=1; return b;5.巧算自然数#includeint step = 1;void fc(int n)/输出n这个数并按角谷猜想对n做处理以便进入下一步。返回值是总步数。 if(n = 1) printf(%d,n); return; else if(n%2 = 0) printf(%d,n); fc(n/2); step+; else printf(%d,n); fc(n*3+1); step+; int main(int argc, char* argv) int n; scanf(%d,&n); fc(n); printf(nstep=%dn,step); return 0;6.卖鸭子#include int main()static int i,x8;x7=2;for(i=7;i=0;i-)xi-1=(xi+1)*2;printf(sum=%dn,x0);for(i=0;i7;i+)printf(sell=%d,xi-xi+1);printf(n);return 0;7.各位数字之和int add(int s) if (s10) return s; else return s%10+add(s/10); int main(int argc, char *argv) int a,b;scanf(%d,&a); b=add(a); printf(%d,b); return 0; 对称字符串#include #include main() char a100; int i,j; gets(a);i=0;j=strlen(a)-1;while(i=j) printf(YESn);else printf(NOn);指针排序#include void sort(int *p,int n); void sort(int *p,int n) int i,j; int temp=0; for(i=0;in;i+) for(j=0;jpj+1) temp=pj; pj=pj+1; pj+1=temp; int main() int i; int a10; for(i=0;i10;i+) scanf(%d,&ai); int *p=a; sort(a,10); for(i=0;i10-1;i+) printf(%d,*(p+); printf(%dn,*p); return 0; 查找数#include void find(int *p,int element,int n); void find(int *p,int element,int n) int i,flag=0; for(i=0;in;i+) flag+; if(element = pi) printf(%dn,pi); break; if(flag = n) printf(Non); int main() int i; int a10; for(i=0;i10;i+) scanf(%d,&ai); int *p=a; int num; scanf(%d,&num); find(p,num,10); return 0; 输出指定成绩#include int main()int grade34,i,j,(*p)4=grade,n;float ave=0;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&gradeij);scanf(%d,&n);for(i=0;i3;i+)printf(%d ,*(*(p+n-1)+i);printf(%dn,*(*(p+n-1)+3);for(i=0;i4;i+)ave+=*(*(p+n-1)+i);ave/=4;if(ave-(int)ave)printf(%.2fn,ave);else printf(%dn,(int)ave);return 0;成绩排序#include void average(int p6,int n); void average(int p6,int n) int i; for(i=0;imax2 & max1max3) if(max2max3) printf(%d,%d,%d,%dn,p00,p01,p02,p03); printf(%d,%d,%d,%dn,p10,p11,p12,p13); printf(%d,%d,%d,%dn,p20,p21,p22,p23); else printf(%d,%d,%d,%dn,p00,p01,p02,p03); printf(%d,%d,%d,%dn,p20,p21,p22,p23); printf(%d,%d,%d,%dn,p10,p11,p12,p13); else if(max2max1 & max2max3) if(max1max3) printf(%d,%d,%d,%dn,p10,p11,p12,p13); printf(%d,%d,%d,%dn,p00,p01,p02,p03); printf(%d,%d,%d,%dn,p20,p21,p22,p23); else printf(%d,%d,%d,%dn,p10,p11,p12,p13); printf(%d,%d,%d,%dn,p20,p21,p22,p23); printf(%d,%d,%d,%dn,p00,p01,p02,p03); else if(max3max1 & max3max2) if(max1max2) printf(%d,%d,%d,%dn,p20,p21,p22,p23); printf(%d,%d,%d,%dn,p00,p01,p02,p03); printf(%d,%d,%d,%dn,p10,p11,p12,p13); else printf(%d,%d,%d,%dn,p20,p21,p22,p23); printf(%d,%d,%d,%dn,p10,p11,p12,p13); printf(%d,%d,%d,%dn,p00,p01,p02,p03); int main() int i,j; int a36=0; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); average(a,i); Print(a,3); return 0; 统计字符串出现次数#include #include int main()char str1100,str2100;int flag=0,counter=0,l1,l2,i,j;gets(str1);gets(str2);l1=strlen(str1);l2=strlen(str2);for(i=0;il1;i+)if(str1i=str20)for(j=1;jl2;j+)if(str1i+j!=str2j)break;else flag=1;if(flag)counter+;if(counter)printf(%dn,counter);elseprintf(Non);return 0;成绩统计求平均分#includemain()printf(wanglei,86.75n);printf(lihong,86.50n);printf(zhangli,79.50n);printf(liuming,83n);printf(AVERAGE:84.50,86.75,82.50,82n);加密#include#includeint l;void gm(char*a);main()char s100=0;gets(s);l=strlen(s);gm(s);void gm(char*a)int i;char d100=0;for(i=0;il;i+)switch(ai)casea:di=d;break;caseb:di=w;break;casec:di=k;break;cased:di=;break;casee:di=i;break;casei:di=a;break;casek:di=b;break; case;:di=c;break; casew:di=e;break; default:di=ai;puts(d);学生成绩#includestdio.hstruct adeint no;int am;int bm;int cm;struct ade N3=1,70,80,90,2,75,85,95,3,88,84,65;main()char s300;int i=0,k,m;for(i=0;i3;i+)scanf(%c,&si);if(si=n) break;if(s0=m)printf(2);else if(s0=1|s0=2|s0=3)k=N(int)(s0-1).am+N(int)(s0-1).bm+N(int)(s0-1).cm;m=k/3;printf(%d,m); else printf(0);字母储存#include #include typedef struct Char_ char ch; char intch; struct Char_ *next; CHAR_; int main(void) CHAR_ *node = NULL; CHAR_ *ch_ = NULL; CHAR_ *hear = NULL; char zimu = a; char panduanzimu; char record;for (; zimu != e; zimu+) ch_ = (CHAR_ *)malloc(sizeof(CHAR_); if (ch_ = NULL) exit(0); ch_-ch = zimu; ch_-next = NULL; if (node = NULL) node = ch_; else node-next = ch_; node = node-next; if (hear = NULL) hear = node; for (zimu -= 2; zimu != (a - 1); zimu-) ch_ = (CHAR_ *)malloc(sizeof(CHAR_); if (ch_ = NULL) exit(0); ch_-ch = zimu; ch_-next = NULL; node-next = ch_; node = node-next; for (node = hear, zimu = 0; node != NULL; node = node-next, zimu+) node-intch = zimu; scanf(%c, &panduanzimu); node = hear; if (panduanzimu = 0&panduanzimu intch) printf(%c, node-ch); break; node = node-next; else if (panduanzimu = a&panduanzimu ch) record = node-intch; node = node-next; printf(%c, record); else printf(N); node = hear; while (node != NULL) hear = node-next; free(node); node = hear; return 0; 链表合并#include#includeint main()static int i,j,m,n;static char q,x100,y100,z100;gets(x);gets(y); strcat(x,y);m=strlen(x);for(j=0;jm;j+)for(i=0;ixj+i)xj=xj+i;xj+i=q;for(i=0;im;i+)for(j=0;j0;i-)if(isalpha(zi)m=i;break;for(i=0;i=m;i+)if(zi= )continue; elseif(i=m)printf(%cn,zi);elseprintf(%c ,zi);return 0;解析字符串#include #include int main() int i,j,k=0; char a100,b100,c100; gets(a); for(i=0;ai!=n;i+) printf(%c,ai); k+; printf(n); for(i=k+1;ai!=0&ai!=n;i+) printf(%c,ai); k+; if(ai=n&a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 印刷画册合同范本模板
- 六人众筹协议合同范本
- 企业重组收购合同范本
- 创业公司初始合同范本
- 休闲农庄租赁合同范本
- 共同承担债务合同范本
- 众筹餐饮股东合同范本
- 财务安全培训试卷及答案
- 农村柳树买卖合同范本
- 北京建委承租合同范本
- ArchiBIM三维协同设计及BIM技术路线
- 2.PaleoScan详细操作流程
- 2023年中职单招医药卫生类技能考试参考题库(附答案)
- 药学毕业论文5000字药学论文的5000字(合集十二篇)
- 控压钻井专业技术及节流阀专题
- 专项维修资金使用公告示范文本
- 2022年遵义市医疗系统事业编制乡村医生招聘笔试试题及答案解析
- YC/T 395-2011烟叶仓库磷化氢熏蒸尾气净化技术规范
- 第三章 回转钻进工艺
- GB/T 224-2019钢的脱碳层深度测定法
- 锐捷极简网络解决方案
评论
0/150
提交评论