《广工anyview的题目和答案》由会员分享,可在线阅读,更多相关《广工anyview的题目和答案(39页珍藏版)》请在金锄头文库上搜索。
1、Anyview 习题1/*【习题 7.010】写一函数求 3 个整数中最小的数。*/int min(int x, int y, int z)/* 返回 3 个整数 x,y 和 z 中最小的数 */int min;min=xy?y:x;if(minz) min=z;return min;/*【习题 7.020】编写函数,求用 1 元、5 元和 10 元三种纸币支付 n 元钱共有多少种支付法?例如,16 元可有 6 种支付方法:方法 1 2 3 4 5 610 元 0 0 0 0 1 1 5 元 0 1 2 3 0 11 元 16 11 6 1 6 1*/int change(int n)int
2、i,j,k,t=0;for(i=0;i0;i-)stri=stri-1;str0=temp;/* 7.051 系统给定外部字符串 s 和整型数组 c26(不需要自行定义) 。编写程序,将字符串 s 中 26 个字母(不区分大小写)出现的次数依次统计到数组 c 中。例如,当 s=“AbcijKaBcdEXyzuvwx”时,数组 c 的 26 个元素值依次为:2 2 2 1 1 0 0 0 1 1 1 0 0 0 0 0 0 00 0 1 1 1 2 1 1。*/void main()Anyview 习题3int i,j;for(j=0;j 8 5 27 8 9 7 4 1*/void inver
3、t(char aNN)int i,j,k;for(i=0;i 4 5 67 8 9 1 2 3*/void invertH(char aNN)int temp,i,j;for(i=0;i 6 5 47 8 9 9 8 7*/void invertV(char aNN)int i,j,temp;for(i=0;i 7 5 37 8 9 8 9 6*/void turningClockwise(char aNN)int i;int flog=1;int t=a0N-1;for(i=N-1;i0;i-)a0i=a0i-1;for(i=0;i0;i-)aiN-1=ai-1N-1;a1N-1=t;/*【
4、习题 7.068】编写函数将一个 NxN 的二维数组的周边元素“逆时针”轮转 1 位。例如:轮转前的数组 轮转后的数组Anyview 习题51 2 3 2 3 64 5 6 - 1 5 97 8 9 4 7 8*/void turningAnticlockwise(char aNN)int i;int t=aN-10;for(i=N-1;i0;i-)ai0=ai-10;for(i=0;i0;i-)aN-1i=aN-1i-1;aN-11=t;/*【习题 7.072】编写函数将一个 NxN 的二维数组 a 的元素按行向右轮转 1 位。例如:轮转前的数组 轮转后的数组1 2 3 3 1 24 5 6
5、 - 6 4 57 8 9 9 7 8*/void turningRight(char aNN)int i,j,t;for(i=0;i0;j-)aij=aij-1;ai0=t; /*【习题 7.075】编写函数将一个 NxN 的二维数组 a 的元素按行向左轮转 1 位。例如:轮转前的数组 轮转后的数组1 2 3 2 3 1Anyview 习题64 5 6 - 5 6 47 8 9 8 9 7*/void turningLeft(char aNN)int i,j,t;for(i=0;i 1 2 37 8 9 4 5 6*/void turningDown(char aNN)int i,j,t;f
6、or(i=0;i0;j-)aji=aj-1i;a0i=t;/*【习题 7.085】编写函数将一个 NxN 的二维数组 a 的元素按列向上轮转 1 位。例如:轮转前的数组 轮转后的数组1 2 3 4 5 64 5 6 - 7 8 97 8 9 1 2 3*/Anyview 习题7void turningUp(char aNN)int i,j;int tN;for(i=0;in?n:m);for(i=min;i=1;i-)if(m%i!=0)|(n%i!=0) continue;if(m%i)=0return k;/*【习题 7.105】 编写函数,求整数 m 和 n 的最小公倍数,并作为函数的返
7、回值。*/int lcm(int m, int n)int t,r,l,h;t=m+n;n=n=a & *(s+i)0/* 1 */ )si= n%10+0/* 2 */ ;/* 3 */ ;i+;si=0;/*7.121 系统给定外部长整型变量 n 和字符数组变量 s(不需要自行定义) 。main 函数的功能是:把 n 的整数值转换成字符串,并保存在 s 中。例如,当 n=20120826 时,由 n 转换得到 s=20120826。请仅在空缺处填入合适内容,使其实现上述功能。*/void main() int i=0,k;char c10;while(n0/* 1 */ )ci=n%10+
8、0 /* 2 */ ;n/=10;i+;si-=0;k=i;while(i=0)si=ck-i/* 3 */ ;i-;/*【习题 7.125】编写函数,对非负浮点数 r 的值的第三位小数四舍五入,返回保留 2 位小数的值。例如:若 r 的值为 8.32488,则函数返回 8.32;若 r 的值为 8.32533,则返回 8.33。*/float func(float r)Anyview 习题10int t,p;t=(int)(r*1000);p=t%10;r=t/10;r*=0.01;if(p4)r+=0.01;return r;/*【习题 7.135】假设 n 是一个 k(k2) 位的正整数
9、,编写函数,求出由 n 的低 k-1 位构成的数并作为函数值返回。例如:若 n 值为 5923,则函数返回 923;若 n 值为 923,则函数返回 23。*/int func(int n)int t=0,x=1;while(n9)t+=(n%10)*x;x*=10;n/=10;return t;/*【习题 7.175】编写函数,求 n 以内(不包括 n)同时能被 3 与 7整除的所有自然数之和的平方根,并作为函数值返回。例如,若 n 为 100 时,函数返回值应为 14.49138。*/float func(int n)int i,s=0;float ans=0;for(i=7;in。例如:
10、m=12,n=8 时,运行Anyview 习题12结果为 495.000000。*/float func(int m, int n)int i,t,j,k;if(m=eps)a*=i;b*=j;PI+=(a/b);i+,j+=2;return 2*PI;/*【习题 7.265】编写函数,将数组 s 所存字符串中下标和 ASCII 码均为偶数的字符,依次存入数组 t 中,并构成一个新串。例如,若 s 中的字符串值为 ABCD123456,则 t 中的串值应为 246。*/void func(char s, char t)int i=0;int len=strlen(s);int j=0;for(
11、;i8) p4+;if(sc=8) p3+;if(sc=7) p2+;if(sc=6) p1+;if(sc=a&striy?y:x;Anyview 习题21if(minz)min=z;return min;/*【习题 8.011】请编写函数 func(char s, char t, int n),由数组 s 中长度为 n 的字符序列构造其逆序列,并存储在数组 t 中。例如,由给定字符序列 s=are求得逆序列 t=era;由 s=time求得 t=emit。*/void func(char s, char t, int n) /* 数组 s 的前 n 个元素存放给定的字符序列,数组 t 的前
12、n 个元素存放 s 的逆序列。注意:数组的下标从 0 开始。*/int i; for(i=0;is1j) s2i=s1j;/*【习题 8.016】对字符串 s1,除首、尾字符外,将其余字符按 ASCII 码降序排列,组合成一个新的字符串 s2。*/void func(char *s1, char *s2)int i,j,length;char t;length=strlen(s1);for(i=1;i0;i-)s2i=s2i-1; s20=s10;s2length-1=s1length-1;Anyview 习题23/*【习题 8.018】以字符串 s 第 m(=0)个字符开始的所有字符,按升序
13、的次序构成字符串 t。*/void substr(char *s, int m, char *t)/* s 为字符串的起始地址,m=0,t 为新字符串的起始地址,注意:字符串尾字符之后跟随着一个结束符0 ,即 ASCII 码为 0 的字符,结束符不属于字符串。要求:s 串不能发生改变,t 串存放新的字符串。*/int i=m,j=0;for(;si!=0;i+)tj+= *(s+i) ;tj=0;int l=j;for(i=0;itj) k=j;if(i!=k)tt=ti,ti=tk,tk=tt; /*【习题 8.020】在字符串 s 中查找字符 c,如果找到,返回字符 c首次出现在字符串 s 中的位置指针;否则,返回空指针 NULL。*/char *match(char *s, char c) /* 返回字符在串 s 中首次出现的位置指针 */int i=0;char*