f3=f3*i;
p=(float)f1/(f2*f3); return(p); }
48. 函数fun的功能是:将s所指字符串中下标为偶
数同时ASCII值也为偶数的字符删除,s中剩余的字符形成一个新串放在t所指的数组中。 例如,若s所指字符串的内容为
\,其中字符B的ASCII码值虽为偶数,但在数组中的下标为奇数,因此不能删除;而字符2的ASCII码值为偶数,在数组中的下标为偶数,因此应当删除,其他依次类推。最后t所指的数组中的内容应是\。
void fun(char *s,char t[]) {int i,j=0;
for(i=0;s[i]!='\\0';i++)
if(!(i%2==0&&s[i]%2==0)) t[j++]=s[i]; t[j]='\\0'; }
49. 编写函数fun,它的功能是:利用以下所示的
简单迭代方法求方程:cos(x)-x=0的一个实根。Xn+1=cos(Xn)迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1,把x1的值赋给x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出结果Root=0.739085。 注意:部分源程序存在文件prog.c中。
float fun()
{float x1=0,x0; do{ x0=x1; x1=cos(x0);
}while(fabs(x0-x1)>=0.000001); return(x1); }
50. 函数fun的功能是:将s所指字符串中ASCII值
为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为:
\,其中字符B的ASCII码值为偶数、…、字符2的ASCII码值为偶数、…都应当删除,其他依次类推。最后t所指的数组中的内容是:\。
void fun(char *s,char t[]) {int i,j=0;
for(i=0;s[i]!='\\0';i++) if(s[i]%2!=0) t[j++]=s[i]; t[j]='\\0'; }
51. 编写函数fun,它的功能是:求n以内(不包括
n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。
例如若n为1000时,函数值应为:s=153.909064。
double fun(int n) { int i; float s=0;
for(i=1;i if(i%3==0&&i%7==0) s=s+i; return(sqrt(s)); } 52. 函数fun的功能是:将s所指字符串中ASCII值 为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为\,其中字符A的ASCII码值为奇数、…、字符1的ASCII码值也为奇数、…都应当删除,其他依次类推。最后t所指的数组中的内容应是:\。 void fun(char *s,char t[]) {int i,j=0; for(i=0;s[i]!='\\0';i++) if(s[i]%2==0) t[j++]=s[i]; t[j]='\\0'; } 53. 编写函数fun,它的功能是:求Fibonacci数列 中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 例如:当t=1000时,函数值为:1597。 int fun(int s) {int f1,f2,f; f1=f2=1; do{ f=f1+f2; f1=f2; f2=f; }while(f 54. 函数fun的功能是:将s所指字符串中下标为偶 数的字符删除,串中剩余字符形成的新串放在t所指数组中。 例如,当s所指字符串中的内容为:\, 在t所指数组中的内容应是:\。 void fun(char *s,char t[]) {int i,j=0; for(i=0;s[i]!='\\0';i++) if(i%2!=0) t[j++]=s[i]; t[j]='\\0'; } 55. 编写函数fun,它的功能是:计算并输出下列 级数和: 1 1 1 s = ─── + ─── + …… + ───── 1×2 2×3 n×(n+1) 例如,当n=10时,函数值为:0.909091。 double fun(int n) { int i; double s=0; for(i=1;i<=n;i++) s=s+1.0/(i*(i+1)); return(s); } 56. 函数fun的功能是:将s所指字符串中下标为奇 数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,当s所指字符串为:\时,t所指的数组的内容应是:\。 void fun(char *s,char t[]) { int i,j=0; for(i=0;s[i]!='\\0';i++) if(i%2==0) t[j++]=s[i]; t[j]='\\0'; } 57. 编写函数fun,它的功能是:计算正整数n的所 有因子(1和n除外)之和作为函数值返回。 例如:n=120时,函数值为239。 int fun(int n) {int i,s=0; for(i=2;i 58. 函数fun的功能是:将s所指字符串中除了下标 为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:\,其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是:\。 void fun(char *s,char t[]) { int i,j=0; for(i=0;s[i]!='\\0';i++) if(s[i]%2!=0&&i%2!=0) t[j++]=s[i]; t[j]='\\0'; } 59. 编写函数fun,它的功能是计算: s=(In(1)+In(2)+In(3)+……+In(m))^0.5,s作为函数值返回。在C语言中可调用log(n)函数求In(n)。log函数的引用说明是:double log(double x)。 例如,若m的值为:20,fun函数值为:6.506583。 double fun( int m) {int i;double s=0; for(i=1;i<=m;i++) s=s+log(i); s=sqrt(s); return(s); } 60. 函数fun的功能是:将s所指字符串除了下标为 偶数、同时ASCII值也为偶数的字符外,其余的全部删除;串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为: \,其中字符B的ASCII码值为偶数, for(j=0;j 63. 规定输入的字符串中只包含字母和*号。请编 但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是:\。 void fun(char *s,char t[]) {int i,j=0; for(i=0;s[i]!='\\0';i++) if(i%2==0&&s[i]%2==0) t[j++]=s[i]; t[j]='\\0'; } 61. 编写函数fun,它的功能是计算下列级数和, 和值由函数值返回。 x^2 x^3 x^n s = 1 + x + ── + ── + …… + ── 2! 3! n! 例如,当n=10,x=0.3时,函数值为1.349859。 double fun(double x,int n) {int i,t=1;double s=1,f=1; for(i=1;i<=n;i++) { f=f*x ; t=t*i; s=s+f/t; } return(s); } 62. 请编写一个函数fun,它的功能是:求出一个M ×N二维数组每行元素的和数,并依次放入一个一维数组中传回主函数。 例如,若有以下二维数组: 6 10 2 10 16 17 15 15 8 6 4 18 11 19 12 0 12 1 3 7 则输出:44 61 64 23 fun(int a[][N],int b[]) {int i,j,s; for(i=0;i 写函数fun,它的功能是:将字符串前面连续的*号全部删除,中间和尾部的*号不删除。 例如,字符串中的内容为: *******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。 void fun(char *a) {int i=0,j=0; while(a[i]=='*'&&a[i]!='\\0') i++; while(a[i]!='\\0') a[j++]=a[i++]; a[j]='\\0'; } 64. 请编写一个函数fun,它的功能是:删除字符 串中的数字字符。例如输入字符串:48CTYP9E6,则输出:CTYPE。 void fun(char *s) {int i,j=0; for(i=0;s[i]!='\\0';i++) if(!(s[i]>='0'&&s[i]<='9')) s[j++]=s[i]; s[j]='\\0'; } 65. 规定输入的字符串中只包含字母和*号。请编 写函数fun,它的功能是:将字符串尾部连续的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为: ****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。在编写函数时,不得使用C语言提供的字符串函数。 void fun(char *a) {int i; for(i=0;a[i]!='\\0';i++); i=i-1; while(a[i]=='*'&&i>=0) i--; a[i+1]='\\0'; } 66. 请编写一个函数fun,它的功能是:求出一个2 ×M整型二维数组中最大元素的值,并将此值返回调用函数。 fun (int a[][M]) {int i,j,max; max=a[0][0]; for(i=0;i<2;i++) for(j=0;j 67. 规定输入的字符串中只包含字母和*号。请编 写函数fun,它的功能是:除了尾部连续的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为: ****A*BC*DEF*G******,删除后,字符串中的内容应当是:ABCDEFG*******。 void fun(char *a,char *p) { int i,j=0; char *s; for(s=a;s<=p;s++) if(*s!='*') a[j++]=*s; p=p+1; while(*p) a[j++]=*p++; a[j]='\\0'; } 68. 请编写一个函数fun,它的功能是:将ss所指 字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)。 例如,若输入\,则应输出\。void fun(char *ss) {int i; for(i=0;ss[i]!='\\0';i++) if(i%2!=0&&ss[i]>='a'&&ss[i]<='z') ss[i]=ss[i]-32; } 69. 规定输入的字符串中只包含字母和*号。请编 写函数fun,它的功能是:除了前面连续的*号之外,将串中其它*号全部删除。在编写函数时,不得使 用C语言提供的字符串函数。 例如,字符串中的内容为: ****A*BC*DEF*G******,删除后,字符串中的内容应当是:****ABCDEFG。 void fun(char *a) {int i=0,j; while(a[i]=='*'&&a[i]!='\\0') i++; for(j=i;a[j]!='\\0';j++) if(a[j]!='*') a[i++]=a[j]; a[i]='\\0'; } 70. 请编写一个函数fun,它的功能是:找出一维 整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 void fun(int a[],int n,int *max,int *d) {int i; *max=a[0]; for(i=0;i {*max=a[i];*d=i;} } 71. 规定输入的字符串中只包含字母和*号。请编 写函数fun,它的功能是:除了字符串前后连续的*号之外,将串中其它*号全部删除。形参h已指向字符串中的第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为: ****A*BC*DEF*G******,删除后,字符串中的内容应当是:****ABCDEFG*******。在编写函数时,不得使用C语言提供的字符串函数。 void fun(char *a,char *h,char *p) {int i=0; char *s; for(s=a;s for(s=p+1;*s!='\\0';s++) a[i++]=*s;
相关推荐: