版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C/C++语言第四次上机作业参考答案PAGEPAGE5数组转置在主函数中定义一个n(1<=n<=6)维方阵,并从键盘读入数组元素;编写函数transpose(a,n)实现数组a转置;在主函数中输出转置后的方阵。例:输入41234输出159135678261014910111237111513141516481216#include<stdio.h>#defineN6voidtranspose(inta[][N],intn);voidmain(){ intn,i,j; inta[N][N]; printf("Inputn(n<=6):"); scanf("%d",&n); printf("Inputthearray:\n"); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); printf("Displaythearray:\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%-4d",a[i][j]); printf("\n"); } transpose(a,n); printf("Displaythetransposedarray:\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%-4d",a[i][j]); printf("\n"); }}voidtranspose(inta[][N],intn){ inti,j,t; for(i=0;i<n;i++) for(j=0;j<i;j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; }}学生信息编写4个函数实现下列功能:(1)函数input()输入20个学生姓名和高考总分;(2)函数sort()按高考总分从高到低的顺序排序,姓名顺序也随之调整;(3)函数display()显示学生姓名及其高考总分;(4)在主函数中输入一个姓名,编写函数search()用顺序查找方法找出该学生。若查找成功,在主函数中显示该生姓名及其高考总分;否则显示查找失败。#include<stdio.h>#include<string.h>#defineN3#defineLEN80voidinput(charname[][LEN],floats[]);voiddisplay(charname[][LEN],floats[]);voidsort(charname[][LEN],floats[]);intsearch(charname[][LEN],chars[]);voidmain(){ intnum; charname[N][LEN],student[LEN]; floatscore[N]; input(name,score); puts("Beforesorting:"); display(name,score); sort(name,score); puts("Aftersorting:"); display(name,score); printf("Inputstudentnameyouwanttosearch:"); fflush(stdin); gets(student); num=search(name,student); if(num==-1) puts("SearchFailure!"); else printf("%s'sscoreis%.2f\n",student,score[num]);}voidinput(charname[][LEN],floats[]){ inti; printf("Inputnameandscore:\n"); for(i=0;i<N;i++) { scanf("%s",name[i]); scanf("%f",&s[i]); }}voiddisplay(charname[][LEN],floats[]){ inti; printf("Displaynameandscore:\n"); for(i=0;i<N;i++) { printf("%-10s",name[i]); printf("%.2f\n",s[i]); }}voidsort(charname[][LEN],floats[]){ inti,j,k; floatt; charstring[LEN]; for(i=0;i<N-1;i++) { k=i; for(j=i+1;j<N;j++) if(s[j]>s[k]) k=j; if(k!=i) { t=s[i];s[i]=s[k];s[k]=t; strcpy(string,name[i]); strcpy(name[i],name[k]); strcpy(name[k],string); } }}intsearch(charname[][LEN],chars[]){ inti; for(i=0;i<N;i++) if(strcmp(name[i],s)==0) returni; return-1;}字符串处理定义两个C源程序文件:fmain.c和fstring.c。fmain.c中包含主函数,实现字符串处理功能选项和字符串的输入与结果的输出。fstring.c中包含两个函数delchar(s,c)和strreverse(s),实现删除字符和字符串反转功能。delchar(s,c):在主函数中输入字符串和要删除的字符,此函数将字符串s中出现的所有c字符删除;再在主函数中输出删除后的字符串。strreverse(s):在主函数中读入字符串,此函数实现将字符串s反转;再在主函数中输出反转后的字符串。SAMPLEOUTPUT:Reverseastring.Deleteacharacterinastring.Pleaseinputyourchoice:1Enterastring:holidayReversedstringis:yadilohWouldyouliketocontinue?(y/n)YReverseastring.Deleteacharacterinastring.Pleaseinputyourchoice:2Enterastring:oneworld,onedreamEnteracharacteryouwanttodelete:oDeletedstringis:newrld,nedreamWouldyouliketocontinue?(y/n)N/*fmain.c*/#include<stdio.h>#include"e:\temp\fstring.c"#defineN80voidstrreverse(chars[]);voiddelchar(chars[],charc);voidmain(){ intchoice1; charchoice2,c,s[N]; while(1) { printf("1.Reverseastring.\n"); printf("2.Deleteacharacterinastring.\n"); printf("Pleaseinputyourchoice:"); scanf("%d",&choice1); switch(choice1) { case1: printf("Enterastring:"); fflush(stdin); gets(s); strreverse(s); printf("Reversedstringis:"); puts(s); break; case2: printf("Enterastring:"); fflush(stdin); gets(s); printf("Enteracharacteryouwanttodelete:"); fflush(stdin); c=getchar(); delchar(s,c); printf("Deletedstringis:"); puts(s); break; } printf("Wouldyouliketocontinue?(y/n)"); fflush(stdin); choice2=getchar(); if(choice2=='N'||choice2=='n') break; }}/*fstring.c*/#include<string.h>voidstrreverse(chars[]){ inti,j; chart; j=strlen(s); j--; for(i=0;i<j;i++,j--) { t=s[i]; s[i]=s[j]; s[j]=t; }}voiddelchar(chars[],charc){ inti,j; chartemp[80]; for(i=0,j=0;s[i]!='\0';) { if(s[i]!=c) temp[j++]=s[i++]; else i++; } temp[j]='\0'; for(i=0;temp[i]!='\0';i++) s[i]=temp[i]; s[i]='\0';}分别用函数和带参数的宏,从三个数中找出最大数。/*函数方式实现*/#include<stdio.h>intmax(inta,intb,intc);voidmain(){ inta,b,c; printf("Input3integers:\n"); scanf("%d%d%d",&a,&b,&c); printf("Maxof%d,%d,%dis%d\n",a,b,c,max(a,b,c));}intmax(inta,intb,intc){ intt; t=a<b?a:b;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建三明九中临聘教师2人笔试参考题库及答案解析
- 2026年心理普查考试题库附答案
- 2026广东广州市越秀区建设街招聘劳动保障监察协管员1人笔试模拟试题及答案解析
- 2026年浙江艺术职业学院单招职业倾向性测试模拟测试卷附答案
- 2026年江苏农牧科技职业学院单招职业适应性考试题库及答案1套
- 2026年心理咨询期末试题及答案参考
- 2026福建厦门市集美区乐海幼儿园顶岗教职工招聘2人笔试备考试题及答案解析
- 2025广东广州市中山大学孙逸仙纪念医院中医科专职科研人员招聘1人备考题库附答案
- 2025年甘肃省平凉市中大科技技工学校招聘20人考试题库附答案
- 2025年龙江森工集团权属林业局有限公司专技型人才公开招聘382人备考题库附答案
- 2026春招:中国烟草真题及答案
- 急性酒精中毒急救护理2026
- 2021-2022学年天津市滨海新区九年级上学期物理期末试题及答案
- 江苏省苏州市、南京市九校2025-2026学年高三上学期一轮复习学情联合调研数学试题(解析版)
- 2026年护理部工作计划
- 期末水平综合练习(试题)新思维小学英语一年级上册
- 初中语文 送别诗练习题(含答案)
- 人教A版高中数学选择性必修第二册全册各章节课时练习题含答案解析(第四章数列、第五章一元函数的导数及其应用)
- 六年级下册小升初全复习-第12讲 工程问题-北师大 (含答案)
- 烹饪原料知识 水产品虾蟹类
- 考勤抽查记录表
评论
0/150
提交评论