int i,max,min; max=min=a[0]; for(i=1;i if(a[i]>max) max=a[i]; else if(a[i] sum=d+dd+ddd+??+dd...d(n个d), if(i==j||i+j==N-1) t=t*arr[i][j]; return(t); 第27题 题号:42 功能:从字符串s中删除指定的字符c。 #include fun(char s[],char c) { 其中d为1-9的数字。 例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函 数中输入。 #include long int fun(int d,int n) { long int s=0,t=0; int i; for(i=1;i<=n;i++) { t=t+d; s=s+t; d=d*10; } return s; 第26题 题号:395 ----------------------------------------------- 功能:求n阶方阵主、副对角线上的元素之积。 ------------------------------------------------*/ #define N 4 #include \#include float mul(int arr[][N]) { int i,j; float t=1; for(i=0;i int i,k=0; for(i=0;s[i]!='\\0';i++) if(s[i]!=c) s[k++]=s[i]; s[k]='\\0'; 第28题 题号:311 功能:计算n门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.600000。 #include float fun(int a[],int n) { int i; float y=0; for(i=0;i 功能:从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:642。 #include long fun (long s,long t) { long sl=10; s /= 10; t = s % 10; while(s > 0) 6 { s = s/100; t = s*sl + t; sl = sl * 10; ---------------------- 功能:编写函数求 3!+6!+9!+12!+15+18!+21!。 #include float sum(int n) { int i,j; float t,s=0; for(i=3;i<=n;i=i+3) {t=1; for(j=1;j<=i;j++) t=t*j; s=s+t;} return(s); 第31题 题号:397 功能:编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意:str[0]代表字符串 的第一个字符)。 #include fun(char str[],int i,int n) { while(str[i+n-1]) { str[i-1]=str[i+n-1]; i++; } str[i-1]='\\0'; 第32题 题号:29 功能:对任意输入的 x,用下式计算并输出 y 的值。 5 x<10 y= 0 x=10 -5 x>10 #include int fun(int n) { 答案: int m; if(n<10) m=5; else if(n==10) m=0; else m=-5; return m; 或 int m; if(n>=10) if(n>10) m=-5; else m=0; else m=5; return m; 第33题 题号:323 功能:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数) #include long y=0; int i; for(i=1;i<=w;i++) if(i%2==1)y+=i; return y; 第34题 题号:312 功能:调用函数fun判断一个三位数是否\水仙花数\。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。说明:所谓\水仙花数\是指一3位数,其各位数字立方和 等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。 #include 7 int fun(int n) { int bw,sw,gw; bw=n/100;sw=(n-bw*100)/10;gw=n; if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) { 答案: for(m=-i;m<=i;m++) { for(n=0;n for(n=0;n<7-2*abs(m);n++) printf(\ printf(\return 1; else return 0; 第35题 题号:378 功能:编写函数用冒泡排序法对数组中的数据进行从小到 大的排序。 #include void sort(int a[],int n) { int i,j,t; for(i=0;i 第36题 题号:504 功能:编写程序打印如图1所示图形。 * *** ***** ******* ***** *** * 要求:要求使用abs()。 #include void fun(int i) } 第37题 题号:342 功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出矩阵第一行与第三行元素之和, 并在fun()函数中输出。 #include main() { int i,j,s,a[3][3]; for(i=0;i<3;i++) { for(j=0;j<3;j++) scanf(\ } s=fun(a); printf(\ wwjt(); } int fun(int a[3][3]) { int sum; int i,j; sum=0; for(i=0;i<3;i+=2) for(j=0;j<3;j++) sum=sum+a[i][j]; return sum; 第38题 题号:382 功能:给定n个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的 8 位置即可)。 for(i=0;c[i]!='\\0';i++) #include int station(int s[],int n) { int i,k; k=0; for(i=1;i 第39题 题号:62 功能:求5行5列矩阵的主、副对角线上元素之和。注意, 两条对角线相交的元素只加一次。 例如:主函数中给出的矩阵的两条对角线的和为45。 #include int fun(int a[M][M]) { int s=0; int i,j; for(i=0;i s=s+a[i][i]+a[i][M-1-i]; s=s-a[(M-1)/2][(M-1)/2]; return s; 第40题 题号:503 题目:分别统计字符串中字母、数字、空格和其他字符出现的 次数(字符长度小于80)。 #include /*-全局变量,a用于保存字母个数、num用于保存数字个数 b用于保存空格个数、other用于保存其他字符字数*/ int a=0,num=0,b=0,other=0; void count(char c[]) { 答案: int i; if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z')) a=a+1; else if (c[i]>='0'&&c[i]<='9') num=num+1; else if (c[i]==' ') b=b+1; else other=other+1; 第41题 题号:387 功能:求一批数中最大值和最小值的差。 #define N 30 #include \#include int max_min(int a[],int n) { int i,max,min; max=min=a[0]; for(i=1;i if(a[i]>max) max=a[i]; else if(a[i] 第42题 题号:347 功能:把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 #include int vector[VSIZE] ; int fun(int list[],int size) { int i,min=0; 9 for(i=1; i 第43题 题号:365 功能:求1到100之间的偶数之积。 #include int fun(int array[3][3]) { int i,j; for(i=0; i < 3; i++) #include double fun(int m) { double y=1; int i; for(i=1;i<=m;i++) if(i%2==0)y*=i; return y; 第44题 题号:366 功能:求一组数中大于平均值的数的个数。 例如:给定的一组数为 1,3,6,9,4,23,35,67,12,88时,函 数值为3。 #include int fun(int a[],int n) { int i,k=0; float s=0,ave; for(i=0;i printf(\ for(i=0;i 第45题 题号:361 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 200 400 600 800 1000 1200 1400 1600 1800 for(j=0; j < 3; j++) array[i][j]=array[i][j]*2; 第46题 题号:373 功能:用函数求fibonacci数列前n项的和。 说明:fibonacci数列为数列的第一项值为1,第二项值也 为1,从第三项开始,每一项均为其前面相邻两项 的和。 例如:当n=28时,运行结果:832039 include long sum(long f1,long f2) { long f,k=f1+f2; int i; for(i=3;i<=28;i++) {f=f1+f2; k=k+f; f1=f2; f2=f; } return(k); 第47题 题号:340 功能:编写一个函数,该函数可以统计一个长度为2的字符 串在另一个字符串中出现的次数。 例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo, 字符串为:as,则应输出6。 #include int fun(char *str,char *substr) 10