苏州外贸网站,wordpress上传图片错误,室内设计培训班排行榜学校,重庆网站建设哪家做的好第46套#xff1a;
给定程序中#xff0c;函数fun的功能是#xff1a;利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序#xff0c;并输出排序结果。ss所指字符串数组中共有N个字符串#xff0c;且串长小于M。 请在程序的下划线处填入正确的内容并把下…第46套
给定程序中函数fun的功能是利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序并输出排序结果。ss所指字符串数组中共有N个字符串且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#include string.h
#define N 5
#define M 8
void fun(char (*ss)[M])
{ char *ps[N],*tp; int i,j,k;
for(i0; iN; i) ps[i]ss[i];
for(i0; iN-1; i) {
k __1__ ;
for(ji1; jN; j)
if(strlen(ps[k]) strlen(__2__) ) kj;
tpps[i]; ps[i]ps[k]; ps[k] __3__ ;
}
printf(\nThe string after sorting by length:\n\n);
for(i0; iN; i) puts(ps[i]);
}
main()
{ char ch[N][M]{red,green,blue,yellow,black};
int i;
printf(\nThe original string\n\n);
for(i0;iN;i)puts(ch[i]); printf(\n);
fun(ch);
} 解题思路 本题是按字符串的长短进行排序。 第一处外循环每循环一次k应保存当前的i值所以应填i。 第二处使用内循环对i1后面的字符串长度进行比较所以应填ps[j]。 第三处交换内容所以应填tp。 已知一个数列从第0项开始的前三项分别为001以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。 例如当n10时程序的输出结果应为23.197745。 请改正程序中的错误使程序能输出正确的结果。 注意不要改动main函数不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#include math.h
fun(int n)
{ double sum, s0, s1, s2, s; int k;
sum 1.0;
if (n 2) sum 0.0;
s0 0.0; s1 0.0; s2 1.0;
for (k 4; k n; k)
{ s s0 s1 s2;
sum sqrt(s);
s0 s1; s1 s2; s2 s;
}
return sum
}
main ( )
{ int n;
printf(Input N);
scanf(%d, n);
printf(%f\n, fun(n) );
} 解题思路 第一处由于函数返回是实数所以必须定义返回的类型只有整型或无结果返回可以忽略其他必须定义返回的类型所以要在此行前加上double或float。 第二处该行缺少分号。 编写函数fun它的功能是计算下列级数和和值由函数值返回。 例如当n 10x0.3时函数值为1.349859。 注意: 部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun 的花括号中填入你编写的若干语句。 给定源程序
#include stdio.h
#include math.h
double fun(double x , int n)
{
}
main()
{
printf(%f\n, fun(0.3,10));
NONO();
} 解题思路 本题是根据给定的公式计算结果。使用for循环语句依次求出每一项的值分别进行累加并把结果存入变量s中最后把s作为函数值返回。其中jc函数是计算阶乘的。 参考答案
#include stdio.h
#include math.h
long jc(int n)
{
long s 1 ;
int i ;
for(i 1 ; i n ; i) s * i ;
return s ;
}
double fun(double x , int n)
{
double s 1.0, y x ;
int i ;
for(i 1 ; i n ; i) {
s y / (double)jc(i) ;
y * x ;
}
return s ;
}