{
int i,n=0;
for(i=0;i<=strlen(str)-2;i++)
if((str[i]==substr[0])&&(str[i+1]==substr[1])) n++; return n;
第48题 题号:322
功能:判断一个整数w的各位数字平方之和能否被5整除,
可以被5整除则返回1,否则返回0。
#include
int k,s=0; do
{s=s+(w)*(w); w=w/10;
}while(w!=0); if(s%5==0)k=1; else k=0; return(k);
第50题 题号:411
功能:对任意输入的 x,用下式计算并输出 y 的值。
-1 x<0 y= 0 x=0 1 x>0 #include
答案: int m; if(n<0) m=-1; else
if(n==0) m=0; else m=1; return m;
或
int m; if(n>=0)
if(n>0) m=1; else m=0; else m=-1; return m;
第51题 题号:320
功能:在键盘上输入一个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=1;
for(i=0;i<3;i++) sum=sum*a[i][i]; return sum;
第52题 题号:318
/功能:输入一个字符串,过滤此串,只保留串中的字母字
符,并统计新生成串中包含的
11
字母个数。
例如:输入的字符串为ab234$df4,新生成的串为abdf 。 #include
fun(char *ptr) {
int i,j;
for(i=0,j=0;*(ptr+i)!='\\0';i++) if(*(ptr+i)<='z'&&
*(ptr+i)>='a'||*(ptr+i)<='Z' && *(ptr+i)>='A')
{*(ptr+j)=*(ptr+i); j++;}
*(ptr+j)='\\0'; return(j);
第53题 题号:357
功能:根据整型形参m,计算如下公式的值:
y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)
例如:若m=9,则应输出:1.168229 #include
double fun(int m) {
double y=0; int i;
for(i=0; i<=m; i++) {y+=1.0/(i+5); } return(y); 第54题 题号:367
功能:找出一批正整数中的最大的偶数。
#include
int fun(int a[],int n) {
int i,amax=-1;
for(i=0;i if(a[i]%2==0) if (a[i]>amax) amax=a[i]; return amax; 第55题 题号:374 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 #include void swap(int *a,int *b) {int k; k=*a; *a=*b; *b=k; 第56题 题号:353 功能:对长度为7个字符的字符串,除首、尾字符外,将其 余5个字符按降序排列。 例如:原来的字符串为CEAedca,排序后输出为CedcEAa。 #include void fun(char *s,int num) { int i,j; char t; for(i=1;i for(j=i+1;j { t=s[i];s[i]=s[j];s[j]=t;} 第57题 题号:409 题目:输入华氏温度求摄氏温度。转换公式为 c=5/9(f-32), 输出结果取两位小数。 void wwjt(); double fun(double m) { 答案: float n; 12 n=(5.0/9.0)*(m-32); return n; 第58题 题号:324 功能:能计算从1开始到n的自然数中偶数的平方的和,n由 键盘输入,并在main()函数中输出。(n是偶数) #include int sum,i; sum =0; for(i=2;i<=n;i=i+2) { sum=sum+i*i;} return(sum); 第59题 题号:53 功能:求一个四位数的各位数字的立方和 include int fun(int n) { int d,k,s=0; while (n>0) {d=n; s+=d*d*d; n/=10; } return s; 第60题 题号:389 功能:编写函数求表达式的和(n的值由主函数输入)。 1-1/2+1/3-1/4+......+1/m 例如:当n=20时,表达式的值为0.668771。 #include double sum(int n) { float s=0; int i,k=1; for(i=1;i<=n;i++) { s=s+k*1.0/i; k=-k; } return(s); 第61题 题号:350 /功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最小元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 #include void fun(int tt[M][N],int pp[N]) { int i,j; for(j=0;j pp[j]=tt[0][j]; for(i=1;i } 第62题 题号:356 功能:求大于lim(lim小于100的整数)并且小于100的所 有素数并放在aa数组中,该函数返回所求出素数的 个数。 #include int fun(int lim,int aa[MAX]) 13 { int n=0; int i,j; for(i=lim;i<=100;i++) {for(j=2;j return n; 第63题 题号:399 功能:编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 include main() { float fun(); printf(\无理数e的值是:%f\\n\ wwjt(); } float fun() { long int j; int i,k; double e,jc; i=1; e=0.0; jc=1.0; while(jc>=0.000001) { e=e+jc; j=1; for(k=1;k<=i;k++) j=j*k; jc=1.0/j; i++; } return e; 第64题 题号:346 功能:将从键盘上输入的每个单词的第一个字母转换为 大写字母,输入时各单词必须用空格隔开,用’.’ 结束输入。 #include int fun(char *c,int status) { if (*c== ' ') return 1; else { if(status && *c <= 'z' && *c >= 'a') *c += 'A' - 'a'; return 0; } 第65题 题号:359 功能:实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为:a=65 b=60 #include void fun(int *a,int *b) { int t; t=*a;*a=*b;*b=t; 第66题 题号:386 功能:用函数求N个[10,60]上的整数中能被5整除的最大 的数,如存在则返回这个最大值,如果不存在则 返回0。 #define N 30 #include \#include int find(int arr[],int n) { 14 int i; for(i=0;i if(arr[i]%5==0 && arr[i]>m) m=arr[i]; 第67题 题号:502 #include 题目:用while语句求1~100的累计和。 void wwjt(); int fun(int n) { 答案: int i=1,sum=0; while(i<=n) { sum=sum+i; i++; } return sum; 第68题 题号:336 功能:从字符串中删除指定的字符。同一字母的大、小写 按不同字符处理。 例如:若程序执行时输入字符串为:turbocandborlandc++ 从键盘上输入字符:n,则输出后变为:turbocadbo rladc++,如果输入的字符在字符串中不存在,则字 符串照原样输出。 #include int fun(char s[],int c) { char *q=s; for(; *q; q++) if(*q != c) *(s++)=*q; *s=0; 第69题 题号:376 功能:从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) #include float y(float x) { float z; if(x>4) z=sqrt(x-4); else if(x>-4) z=pow(x,8); else if(x>-10) z=4/(x*(x+1)); else z=fabs(x)+20; return(z); 第70题 题号:341 功能:删除所有值为y的元素。数组元素中的值和y的值由 主函数通过键盘输入。 #include void fun(int bb[],int *n,int y) { int i,j; for(i=0;i<*n;) { if(bb[i]==y) {for(j=i;j<*n;j++) bb[j]=bb[j+1]; *n=*n-1; } else i++; } 第71题 题号:56 功能:找出一批正整数中的最大的偶数。 include int fun(int a[],int n) { int i,amax=-1; for(i=0;i 15