1Anyview习题/**********【习题7.010】写一函数求3个整数中最小的数。**********/intmin(intx,inty,intz)/*返回3个整数x,y和z中最小的数*/{intmin;min=x>y?y:x;if(min>z)min=z;returnmin;}/**********【习题7.020】编写函数,求用1元、5元和10元三种纸币支付n元钱共有多少种支付法?例如,16元可有6种支付方法:方法12345610元0000115元0123011元16116161**********/intchange(intn){inti,j,k,t=0;for(i=0;i<=n/10;i++){k=(n-i*10)/5;for(j=0;j<=k;j++)t++;}returnt;}/**********【习题7.030】先编写一个判断素数的函数。再编写一个函数将一个偶数表示为两个素数之和,并返回其中较小的素数。注:素数指只能被1和自身整除的正整数。规定0,1不是素数。**********/intprime(intn)/*判断素数,如果是素数返回1,不是素数则返回0*/{intk;if(n<2)return0;for(k=2;k<=n/2;k++){if(n%k==0)return0;2Anyview习题}return1;}intf(inti)/*将偶数i表示为两个素数之和,返回其中较小的素数*/{intj,min;for(j=2;j<=i/2;j++)if(prime(j)&&prime(i-j)){min=j;break;}returnmin;}/**********【习题7.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;}/**********7.051系统给定外部字符串s和整型数组c[26](不需要自行定义)。编写程序,将字符串s中26个字母(不区分大小写)出现的次数依次统计到数组c中。例如,当s=“AbcijKaBcdEXyzuvwx”时,数组c的26个元素值依次为:22211000111000000000111211。**********/voidmain()3Anyview习题{inti,j;for(j=0;j<26;j++)for(i=0;s[i]!='\0';i++){if(s[i]==j+65||s[i]==j+97)c[j]++;}}/**********【习题7.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;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;}/**********【习题7.068】编写函数将一个NxN的二维数组的周边元素“逆时针”轮转1位。例如:轮转前的数组轮转后的数组5Anyview习题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;}/**********【习题7.072】编写函数将一个NxN的二维数组a的元素按行向右轮转1位。例如:轮转前的数组轮转后的数组123312456--->645789978**********/voidturningRight(chara[N][N]){inti,j,t;for(i=0;i0...