




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——广工anyview的题目和答案Anyview习题/**********写一函数求3个整数中最小的数。**********/intmin(intx,inty,intz)/*返回3个整数x,y和z中最小的数*/{intmin;min=x>y?y:x;if(min>z)min=z;returnmin;}/**********编写函数,求用1元、5元和10元三种纸币支付n元钱共有多少种支付法?例如,16元可有6种支付方法:方法12345610元0000115元0123011元16116161**********/intchange(intn){inti,j,k,t=0;for(i=0;i0;i--)str[i]=str[i-1];str[0]=temp;}/**********7.051系统给定外部字符串s和整型数组c[26](不需要自行定义)。编写程序,将字符串s中26个字母(不区分大小写)出现的次数依次统计到数组c中。例如,当s=“AbcijKaBcdEXyzuvwx〞时,数组c的26个元素值依次为:22211000111000000000111211。**********/voidmain()2Anyview习题{inti,j;for(j=0;j852789741**********/voidinvert(chara[N][N]){inti,j,k;for(i=0;i456789123**********/voidinvertH(chara[N][N]){inttemp,i,j;for(i=0;i654789987**********/voidinvertV(chara[N][N]){inti,j,temp;for(i=0;i753789896**********/voidturningClockwise(chara[N][N]){inti;intflog=1;intt=a[0][N-1];for(i=N-1;i>0;i--)a[0][i]=a[0][i-1];for(i=0;i0;i--)a[i][N-1]=a[i-1][N-1];a[1][N-1]=t;}/**********编写函数将一个NxN的二维数组的周边元素“逆时针〞轮转1位。例如:轮转前的数组轮转后的数组4Anyview习题123236456>159789478**********/voidturningAnticlockwise(chara[N][N]){inti;intt=a[N-1][0];for(i=N-1;i>0;i--)a[i][0]=a[i-1][0];for(i=0;i0;i--)a[N-1][i]=a[N-1][i-1];a[N-1][1]=t;}/**********编写函数将一个NxN的二维数组a的元素按行向右轮转1位。例如:轮转前的数组轮转后的数组123312456>645789978**********/voidturningRight(chara[N][N]){inti,j,t;for(i=0;i0;j--)a[i][j]=a[i][j-1];a[i][0]=t;}}/**********编写函数将一个NxN的二维数组a的元素按行向左轮转1位。例如:轮转前的数组轮转后的数组1232315
Anyview习题}/**********编写函数,根据公式s=1+1/(1+2)+1/(1+2+3)+??1/(1+2+3+?+n)计算s,并作函数值返回。例如:若n的值为11时,函数的值为1.833333。**********/floatfunc(intn){floats=0;intsum,i;if(n==0)returns;for(i=1;in。例如:m=12,n=8时,运行结果为495.000000。**********/11Anyview习题floatfunc(intm,intn){inti,t,j,k;if(m=eps){a*=i;b*=j;PI+=(a/b);i++,j+=2;}return2*PI;}/**********编写函数,将数组s所存字符串中下标和ASCII码均为偶数的字符,依次存入数组t中,并构成一个新串。例如,若s中的字符串值为ABCD123456,则t中的串值应为246。**********/voidfunc(chars[],chart[]){inti=0;intlen=strlen(s);intj=0;for(;iAnyview习题数值返回。**********/intfunc(chars[]){intnum=0,word=0;inti;for(i=0;s[i]!='\\0';i++){if(s[i]!=''word=1;}elseif(s[i]=='')word=0;}returnnum;}/**********假定字符串s中可能含有字符'*'。请编写函数,将字符串s中前导'*'全部移到字符串的尾部。例如,若s的串值为***A*BC*DEF*G**,移动后,串值应为A*BC*DEF*G*****。注意:不得调用C语言提供的字符串函数。**********/voidfunc(chars[]){inti=0;intt;while(1){if(s[i]!='*'){t=i;break;}i++;}for(i=0;s[i+t]!='\\0';i++)s[i]=s[i+t];while(t--)s[i++]='*';s[i]='\\0';}/**********编写函数,计算并返回数组a中头n个16Anyview习题元素的乘积。**********/longfunc(inta[],intn){inti,chengji=1;for(i=0;i8)p[4]++;if(sc==8)p[3]++;if(sc==7)p[2]++;if(sc==6)p[1]++;if(sc='a'}}intmin(intx,inty,intz)/*返回3个整数x,y和z中最小的数*/{intmin;min=x>y?y:x;if(min>z)min=z;returnmin;}20
Anyview习题/**********请编写函数func(chars[],chart[],intn),由数组s中长度为n的字符序列构造其逆序列,并存储在数组t中。例如,由给定字符序列s=\求得逆序列t=\;由s=\求得t=\。**********/voidfunc(chars[],chart[],intn)/*数组s的前n个元素存放给定的字符序列,数组t的前n个元素存放s的逆序列。注意:数组的下标从0开始。*/{inti;for(i=0;is1[j])s2[i]=s1[j];}}/**********对字符串s1,除首、尾字符外,将其余字符按ASCII码降序排列,组合成一个新的字符串s2。**********/voidfunc(char*s1,char*s2){inti,j,length;chart;length=strlen(s1);for(i=1;i0;i--)s2[i]=s2[i-1];s2[0]=s1[0];s2[length-1]=s1[length-1];}/**********以字符串s第m(>=0)个字符开始的所有字符,按升序的次序构成字符串t。**********/22Anyview习题voidsubstr(char*s,intm,char*t)/*s为字符串的起始地址,m>=0,t为新字符串的起始地址,注意:字符串尾字符之后跟随着一个终止符‘\\0’,即ASCII码为0的字符,终止符不属于字符串。要求:s串不能发生改变,t串存放新的字符串。*/{inti=m,j=0;for(;s[i]!='\\0';i++)t[j++]=*(s+i);t[j]='\\0';intl=j;for(i=0;it[j])k=j;if(i!=k)tt=t[i],t[i]=t[k],t[k]=tt;}}/**********在字符串s中查找字符c,假使找到,返回字符c首次出现在字符串s中的位置指针;否则,返回空指针NULL。**********/char*match(char*s,charc)/*返回字符在串s中首次出现的位置指针*/{inti=0;char*search=NULL;while(*(s+i)){if(*(s+i)==c){search=s+i;break;}i++;}returnsearch;23Anyview习题}/*8.030先编写一个判断素数的函数。再编写一个函数将一个偶数表示为两个素数之和,并返回其中较小的素数。注:素数指只能被1和自身整除的正整数。规定0,1不是素数。*/intprime(intn)/*判断素数,假使是素数返回1,不是素数则返回0*/{intk;if(nmonthday[i]){yearday-=monthday[i];i++;}*pmonth=i+1;*pday=yearday;return1;}else{return0;}}/**********请编写一个函数func,通过略去非数字字符,将字符串s转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。**********/longfunc(char*s)/*s是一个数字字符串的地址,函数返回值为由s含有的数字字符转换得到的数(包含正负数状况)*/{inti,k;longnum;num=0;k=1;for(i=0;s[i]!='\\0';i++){if(num==0if(s[i]>='0'}returnnum*k;}25
Anyview习题/*8.050编写函数,将字符串中ASCII码最小的字符放在第一个字符位置,其余字符依次往后移。*/voidfunc(char*str)/*将字符串str中ASCII码最小的字符放在第一个*//*字符位置,其余字符依次往后移。*/{inti,k;chartemp=str[0];for(i=0;str[i]!='\\0';i++)if(str[i]0;i--)str[i]=str[i-1];str[0]=temp;}/*8.060编写函数将一个nxn的二维数组按“次对角线〞翻转。例如:翻转前的数组翻转后的数组123963456>852789741*/voidinvert(chara[N][N]){inti,j,k;for(i=0;i456789123*/voidinvertH(chara[N][N]){inttemp,i,j;for(i=0;i654789987*/voidinvertV(chara[N][N]){inti,j,temp;for(i=0;i753789896*/voidturningClockwise(chara[N][N]){inti=0,j=0,flag=1;charinitial=a[0][0];while(flag==1){if(j==0elseif(i==N-1elseif(j==N-1else{a[i][j]=a[i][--j];if(i==0flag=0;}}}}/*8.068编写函数将一个NxN的二维数组的周边元素“逆时针〞轮转1位。例如:轮转前的数组轮转后的数组123236456>159789478*/voidturningAnticlockwise(chara[N][N]){inti;intt=a[N-1][0];for(i=N-1;i>0;i--)a[i][0]=a[i-1][0];for(i=0;i0;i--)a[N-1][i]=a[N-1][i-1];a[N-1][1]=t;}/*8.072编写函数将一个NxN的二维数组a的元素按行向右轮转1位。例如:轮转前的数组轮转后的数组123312456>645789978*/voidturningRight(chara[N][N]){inti,j;chart;for(i=0;i0;j--)28Anyview习题{a[i][j]=a[i][j-1];}a[i][0]=t;}}/*8.075编写函数将一个NxN的二维数组a的元素按行向左轮转1位。例如:轮转前的数组轮转后的数组123231456>564789897*/voidturningLeft(chara[N][N]){inti,j;chart;for(i=0;i123789456*/voidturningDown(chara[N][N]){inti,j;chart;for(j=0;j0;i--){if(i==N-1)t=a[i][j];29Anyview习题a[i][j]=a[i-1][j];}a[i][j]=t;}}/*8.085编写函数将一个NxN的二维数组a的元素按列向上轮转1位。例如:轮转前的数组轮转后的数组123456456>789789123*/voidturningUp(chara[N][N]){inti,j;chart;for(j=0;j0)个整数中的最大值。注意:要求在函数中采用指针(而不是下标)来30
Anyview习题处理数组元素。**********/intfindmax(ints[],intn)/*返回s中n(>0)个整数的最大值。注意:要求在函数中采用指针(而不是下标)来处理数组元素。*/{inti,max;for(i=0,max=*(s+0);i0)个整数,返回在s中相邻三个数的和中的最小值。**********/intmin3adj(ints[],intn)/*数组s含n(>=3)个整数,返回在s中相邻三个数的和中的最小值。*/{intsum=*(s+0)+*(s+1)+*(s+2),i=0;for(;i*(s+i)+*(s+i+1)+*(s+i+2))sum=*(s+i)+*(s+i+1)+*(s+i+2);returnsum;}/**********编写函数,通过指针参数sum将x和y的和赋给相应实际参数。例如,若x=134、y=378,则sum的实参变量被赋值512。**********/voidfunc(intx,inty,int*sum){*sum=x+y;}31Anyview习题/**********编写函数,返回指针参数x和y所指向的变量的值之和。**********/intfunc(int*x,int*y){return(*x+*y);}/**********编写函数,比较指针参数x和y分别指向的变量,若前者的值较大,则交换两者的值,并返回1;否则无须交换,返回0。**********/intfunc(int*x,int*y){intp;if(*x>*y){p=*x,*x=*y,*y=p;return1;}elsereturn0;}/**********假设指针a指向某数组中的一个元素。编写函数,在从元素*a开始的n个元素范围内,向后查找给定值x,一旦找到值等于x的元素,则返回该元素的序号;若找不到,则返回0。例如,假定a指向的10个元素依次为5,6,3,0,-4,8,9,-6,8,-7,若x=5,则返回1;若x=8,则返回6;若y=4,则返回0。**********/intfunc(intn,int*a,intx){inti=0;for(;iAnyview习题{*t=*(s+i-1);while(--n)*(++t)=*(s+(++i)-1);*(++t)='\\0';}/**********编写函数,通过将s字符串中所有小写字母转换成大写字母,构造一个字符串并存储在t已经指向的存储区域,但原来的s串不改变。例如,若s字符串为\则构造的t串为\STUDENT.〞。**********/voidfunc(char*s,char*t){while(*(s++))if(*(s-1)>='a'else*(t++)=*(s-1);*(t+1)='\\0';}/**********编写函数,通过将s字符串中所有大写字母转换成小写字母,构造一个字符串并存储在t已经指向的存储区域,但原来的s串不改变。例如,若s字符串为\则构造的t串为\student.〞。**********/voidfunc(char*s,char*t){while(*(s++))if(*(s-1)>='A'else*(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家禽饲养业区域品牌塑造与市场推广策略研究考核试卷
- 纺织品的智能化生产和智能化应用考核试卷
- 纤维板生产中的新材料应用研究考核试卷
- 窗帘行业客户关系管理考核试卷
- 公路工程监理与质量控制考核试卷
- 春季常见传染病预防知识教育课件
- 成人高等教育心理学实验设计与分析考核试卷
- 小麦加工过程中的节能技术与环保措施考核试卷
- 绿色生活与节能引领考核试卷
- 水产养殖环境保护法律实务考核试卷
- 2024年上海市公安机关文职辅警、公安机关勤务辅警、检察系统辅助文员招聘笔试参考题库含答案解析
- 2024年四川省南充市中考生物试卷真题(含官方答案)
- 劳动教育智慧树知到期末考试答案章节答案2024年华中师范大学
- 成人高尿酸血症与痛风食养指南(2024年版)
- 2024年首都机场集团招聘笔试参考题库附带答案详解
- 2023年山东省专升本考试高等数学Ⅲ试题和答案
- 抗血栓药物临床应用与案例分析课件
- 吉林省地方教材家乡小学二年级下册家乡教案
- 儿童长期卧床的护理
- 投标书细节美化教程
- 《小儿支气管肺炎》课件
评论
0/150
提交评论