11 、请编写函数fun ,它的功能是计算下列级数和 ,和值由函数值返回 。
例如,当n=10 ,x=0.3时 ,函数值为1.349859 。
注意:请勿改动主函数main和其他函数中的任何内容 ,仅在函数fun的花括号中填入你编写的若干语句 。
double fun(double x, int n)
{
double sum=1,item=1;
int i;
for (i=1;i<=n;i++)
{
item=item*x/i;
sum+=item;
}
return sum;
}
参考程序
12 、编写函数fun ,其功能是:求出1~1000之间能被7或11整除 ,但不能同时被7和11整除的所有整数 ,并将其放在a所指的数组中 ,通过n返回这些数的个数 。
注意:请勿改动主函数main和其它函数中的任何内容 ,仅在函数fun的花括号中填入你编写的若干语句 。
#include <stdio.h>
void fun (int *a, int *n)
{
}
int main()
{
int aa[1000], n, k ;
fun (aa, &n ) ;
for ( k = 0 ; k < n ; k++ )
if ((k + 1) % 10 == 0) printf("\n") ;
else printf("%5d", aa[k]) ;
return 0;
}
void fun (int *a, int *n)
{
int i,k=0;
for (i=1;i<=1000;i++)
if ((i%7==0 || i%11==0) && i%77!=0)
a[k++]=i;
*n=k;
}
参考程序
13、请编写函数void fun (int x, int pp[], int *n) ,它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中 ,这些除数的个数通过形参n返回 。
例如 ,若x中的值为30,则有4个数符合要求 ,它们是1 、3 、5 、15 。
注意:请勿改动主函数main和其他函数中的任何内容 ,仅在函数fun的花括号中填入你编写的若干语句 。
#include <stdio.h>
void fun (int x, int pp[], int *n)
{
}
int main()
{
int x,aa[1000], n, i ;
printf("\nPlease enter an integer number : \n ") ;
scanf ("%d", &x) ;
fun (x, aa, &n) ;
for (i=0 ; i<n ; i++)
printf ("%d ", aa [i]);
printf ("\n ") ;
return 0;
}
void fun (int x, int pp[], int *n)
{
int i,k=0;
for (i=1;i<=x;i+=2)
if (x%i==0) pp[k++]=i;
*n=k;
}
参考程序
14 、请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数 。可调用strlen函数求字符串的长度。例如:在键盘输入字符串2345210 ,函数返回长整型数2345210 。
注意:请勿改动主函数main和其他函数中的任何内容 ,仅在函数fun指定的部位填入所编写的若干语句 。
#include <stdio.h>
#include <string.h>
long fun(char *s )
{
}
int main()
{
char s[10];
long r;
printf("请输入一个长度不超过9个字符的数字字符串 : ");
gets(s);
r = fun( s );
printf(" r = %ld\n" , r );
return 0;
}
long fun(char *s )
{
long num=0;
int i;
for (i=0;s[i]!=\0;i++)
num=num*10+s[i]-0;
return num;
}
参考程序
15 、假定输入的字符串中只包含字母和*号。请编写函数fun ,其功能是:除了尾部的*号之外 ,将字符中的其它的*号全部删除 。形参p已指向字符串中最后的一个字母 。在编写函数时 ,不得使用C语言提供的字符串函数。
例如 ,字符串中的内容为****A*BC*DEF*G******* ,删除后 ,字符串中的内容应当是ABCDEFG******* 。
注意:请勿改动主函数main和其它函数中的任何内容 ,仅在函数fun的花括号中填入你编写的若干语句 。
#include <stdio.h>
void fun( char *a, char *p )
{
}
int main()
{
char s[81],*t;
printf("Enter a string:\n");
gets(s);
t=s;
while(*t) t++;
t--;
while(*t==*) t--;
fun(s ,t);
printf("The string after deleted:\n");puts(s);
return 0;
}
void fun( char *a, char *p )
{
char *q1,*q2;
q1=a; q2=a;
while (q1!=p)
{
if (*q1!=*)
{
*q2=*q1; q2++;
}
q1++;
}
while (*q1) *q2++=*q1++;
*q2=\0;
}
参考程序
16 、编写函数void fun(char *tt,int pp[]) ,统计在tt所指的字符串中a到z
26个小写字母各自出现的次数 ,并依次放在pp所指的数组中 。
例如,当输入字符串abcdefgabcdeabc后 ,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意:请勿改动主函数main和其它函数中的任何内容 ,仅在函数fun的花括号中填入你编写的若干语句 。
#include <stdio.h>
#include <string.h>
void fun(char *tt, int pp[])
{
}
int main()
{
char aa[1000] ;
int bb[26], k ;
printf( "\nPlease enter a char string:" ) ;
scanf("%s", aa) ;
fun(aa, bb ) ;
for ( k = 0 ; k < 26 ; k++ )
printf ("%d ", bb[k]) ;
printf( "\n" ) ;
return 0;
}
void fun(char *tt, int pp[])
{
int i;
for (i=0;i<26;i++) pp[i]=0;
for (i=0;tt[i]!=\0;i++)
pp[tt[i]-a]++;
}
参考程序
17 、下列程序定义了N×N的二维数组,并在主函数中自动赋值 。请编写函数fun(int a[][N]) ,该函数的功能是:将数组左下半三角元素中的值全部置成0 。例如a数组中的值为:
1 9
7
2 3
8
4 5
6
则返回主程序后a数组中的值应为:
0 9
7
0 0
8
0 0
0
注意:请勿改动main函数和其他函数中的任何内容 ,仅在函数fun的花括号中填入你编写的若干语句 。
#include <stdio.h>
#include <stdlib.h>
#define N 5
void fun (int a[][N])
{
}
int main()
{
int a[N][N],i,j;
printf("*****The array*****\n");
for(i=0;i<N;i++) /*产生一个随机的5*5矩阵*/
{
for(j=0;j<N;j++)
{
a[i][j]=rand()%10;
printf("%4d", a[i][j]);
}
printf("\n");
}
fun(a);
printf("THE RESULT\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}
void fun (int a[][N])
{
int i,j;
for (i=0;i<N;i++)
for (j=0;j<=i;j++)
a[i][j]=0;
}
参考程序
18 、请编写函数fun ,该函数的功能是:删除一维数组中所有相同的数 ,使之只剩一个 。数组中的数已按由小到大的顺序排列 ,函数返回删除后数组中数据的个数 。
例如 ,若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后 ,数组中的内容应该是:
2 3 4 5 6 7 8 9 10。
注意:请勿改动main函数和其他函数中的任何内容 ,仅在函数fun的花括号中填入所编写的若干语句 。
#include <stdio.h>
#define N 80
int fun(int a[], int n)
{
}
int main()
{
int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10}, i, n=20;
printf("The original data :\n");
for(i=0; i<n; i++)
printf("%3d",a[i]);
n=fun(a,n);
printf("\nThe data after deleted :\n");
for(i=0; i<n; i++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
int fun(int a[], int n)
{
int i,j;
for (i=1,j=0;i<n;i++)
if (a[j]!=a[i]) a[++j]=a[i];
return j+1;
}
参考程序
19 、请编写函数fun ,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数 。
注意:请勿改动主函数main和其它函数中的任何内容 ,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#define M 4
int fun (int a[][M])
{
}
int main()
{
int arr[2][M]={5,8,3,45,76,-4,12,82} ;
printf("max =%d\n", fun(arr)) ;
return 0;
}
int fun (int a[][M])
{
int max=a[0][0];
int i,j;
for (i=0;i<2;i++)
for (j=0;j<M;j++)
if (max<a[i][j]) max=a[i][j];
return max;
}
参考程序
20、请编写一个函数fun ,它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换) 。
例如 ,若输入"abc4Efg" ,则应输出"aBc4EFg" 。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<string.h>
void fun(char *ss)
{
}
int main()
{
char tt[81];
printf("\nPlease enter an string within 80 characters:\n");
gets(tt);
printf("\nAfter changing, the string\n %s",tt);
fun(tt);
printf("\nbecomes\n %s\n",tt);
return 0;
}
void fun(char *ss)
{
int i;
for (i=1;i<strlen(ss);i+=2)
if (ss[i]>=a && ss[i]<=z)
ss[i]=ss[i]-32;
}
参考程序
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时 ,禁止复制 、盗用 、采集、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。