填空题以下程序通过函数SunFun求这里f(x)=x2+1,由F函数实现。请填空。main(){printf("Thesum=%d/n",SunFun(10));}SunFun(intn){intx,s=0;for(x=0;x<=n;x++)s+=F({{U}}【14】{{/U}});returns;}F(intx){return({{U}}【15】{{/U}});}
填空题以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件的具体位置,从而确定文件长度,请填空。 FILE*myf;long fl; myf= 【20】 ("test.t","rb”); fseek(myf,() SEEK_END) ;fl+ftell(myf); fclose(myf); printf("%ld/n",fl);
填空题以下函数的功能是计算s=1+1/21+1/3!+…+1/n!,请填空。 double fun(int n) double s=0.0,fac=1.0; int i,k=1; for(i=1;i<=n;i++) 【14】 ; fac=fac/k; s=s+fac;
填空题程序MODI1.C中函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。
例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 文件MODI1.C内容如下:
#include<stdio.h> #include<math.h>
double funx(double x){ return(2*x*x*x-4*x*x+3*x-6);}
double fun(double m,double n){
/***********found**********/ int r;
r=(m+n)/2; /**********found**********/
while(fabs(n-m)<0.001){ if(funx(r)*funx(n)<0)
m=r; else n=r; r=(m+n)/2;
} return r; } void
main{{U}} {{/U}}{ double m,n,root;
printf("Enter m n:/n");
scanf("%1f%1f",&m,&n); root=fun(m,n);
printf("root=%6.3f/n",root); }
填空题字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如,输入str=“1111”,x=2,y=10,结果输出:15。如果输入str=“15”, x=10,Y=2,结果输出: 1111。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio.h> #include<stdlib.h> #include<string.h> #define N 8 int xx[N]; int fun(char *str,int x,int y) int sum; int i=0; char *p=str; for(i=0; i<N; i++) xx[i]=0; sum=*p-'0'; p++; while (*p) sum= 【1】 ; p++; i=0; while(sum!=0) xx[i]= 【2】 ; 【3】 ; i++; return i; main () char str[6]; int i; int n; int x; int y; printf("Enter a string made up of '0' to '9' digits character:"); gets(str); if(strlen (str) >5) printf("Error:string too longer!, please input again!/n/n"); exit(0); for(i=0;str[i];i++) if(str[i]<'0'||str[i]>'9') printf("Error:%c not is '0' to '9' digits character!/n/n", str[i]); exit(0); printf("The original string: "); puts(str); printf("/nINPUT x= "); scanf("%d", printf("/nINPUT y= "); scanf("%d", n=fun(str,x,y); printf("/n%s is convered to",str); for (i=n-1; i>=0; i--) printf("%d",xx[i]);
填空题以下函数的功能是计算s=1+1/2!+1/3!+…+1/n!,请填空。 double fun(int n) double s=0.0 ,fac=1.0; int i,k=1; for(i=1;i<=n;i++); 【14】 ; fac=fac/k s=s+fac;
填空题有以下程序: main() int i,n=0; for(i=2;i<5;i++) do if(i%3) continue; n++; while(! i); n++; printf("n=%d/n",n); 程序执行后输出结果是 【1】 。
填空题表示“整数x的平方大于36"时的值为“真”的C语言逻辑表达式是 【6】 。
填空题以下程序运行后的输出结果是______。 main() int X==1,y=0,a=0,b=0; switch (x) case 1:switch (y) case 0:a++;break; case 1:b++;break; case 2: a++;b++;break; printf("%d%d/n",a,b);
填空题以下程序运行后的输出结果是 【19】 。(注:如果结果中含有回车,可加一空格写在一行,例如: 1 1 1 1 1 1 1 1 1可以写成:1 1 1 1 1 1 1 1 1。 #include <stdio.h> mala() int i,j,a[][3]=1,2,3,4,5,6,7,8,9; for(i=0;i<3;i++) for(j=i+1;j<3;j++) a[j][i]=0; for(i=0;i<3;i++) for(j=0;j<3;j++) printf("%d",a[i][j]); printf("/n");
填空题下面程序的功能是:从输入的正整数中选3个数进行输出,要求这些数都是2的倍数,请填空。 main() int a,i=0; scanf("%d", do if(a>0i++; if(i!=3) scanf("%d", while(______);
填空题若有以下程序
int f(int x,int y)
{ return(y-x)*x; }
main( )
{ int a=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d/n",d);
}
执行后输出结果是{{U}} 【12】 {{/U}}。
填空题请补充函数proc(),该函数的功能是:把ASCII码为偶数的字符从字符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输入,其长度作为参数传入函数proc()。
例如,输入“verybook”,输出“eyook”。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 80
______
{
int i, j;
______;
for(i=0; i<n; i++)
{
if(str[i]%2!=0)
str[j++]=str[i];
}
______;
}
void main()
{
int i=0, strlen=0;
char str[M];
system("CLS");
printf("/nInput a string:/n");
gets(str);
while(str[i]!="/0")
{
strlen++;
i++;
}
proc(str, strlen);
printf("/n***display string***/n");
puts(str);
}
填空题下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值。
t=1+1/2+1/3+1/4+…+1/m
例如,若输入S,则应输出2.283333。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
double fun(int m)
{
double t=1.0;
int i;
for(i=2; i<=m; i++)
/**********found**********/
t+=1.0/k;
/**********found**********/
return i;
}
void main()
{
int m;
system("CLS");
printf("/nPlease enter linteger number:");
scanf("%d",
printf("/nThe result is%lf/n", fun(m));
}
填空题已知字符A的ASCII码值为65,以下语句的输出结果是{{U}} 【3】 {{/U}}。
char ch='B';
printf("%c%d/n"ch,ch);
填空题以下程序运行后的输出结果是{{U}} 【8】 {{/U}}。
main()
{ int a=3,b=4,c=5,t=99;
if(b<a a=c;c=t;
if(a<c b=a;a=t;
printf("%d %d %d/n",a,b,c);
}
填空题下列给定程序中,函数fun的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意
:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 6
typedef struct node
{
int data;
struct node *next;
}NODE;
void fun(NODE *h)
{NODE *p,*q;int t;
p=h;
while(p){
/********found********/
q=______;
/********found********/
while(______)
{if(p->data>q->data)
{t=p->data;
p->data=q->data;q->data=t;}
q=q->next;
}
/********found********/
p=______;
}
}
NODE *creatlist(int a[])
{NODE *h,*p,*q;int i;
h=NULL;
for(i=0;i<N;i++)
{q=(NODE*)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h==NULL)h=p=q;
else{p->next=q;p=q;}
}
return h;
}
void outlist(NODE *h)
{NODE *p;
p=h;
if(p==NULL)
printf("The list is NULL!/n");
else
{printf("/nHead");
do
{printf("->%d",p->data);
p=p->next;}
while{p!=NULL);
printf("->End/n");
}
}
}
main()
{NODE *head;
int a[N]={0, 10,4,2,8,6};
head=creatlist(a);
printf("/nThe original list/n");
outlist(head);
fun(head);
printf("/nThe list after inverting:/n");
outlist(head);
}
填空题设有以下结构体类型:
struct st
{ charname[8];
int num;
float s[4];
}student[50];
并且结构体数组student中的元素都已有值。若要将这些元素写到硬盘文件fp中,请将以下 fwrite语句补充完整:
fwrite(student,{{U}} 【20】 {{/U}},1,fp);
填空题若变量a,b 已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句{{U}} [6] {{/U}}。
填空题有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。 #define N 100 main() float a[N+1],x; int i,p; for(i=0;i<N;i++) scanf("%f" scanf("%f", for(i=0,p=N;i<N;i++) if(x<a[i]) 【18】 ; break; for(i=N-1; 【19】 ;i-) a[i+1]=a[i]; a[p]=x; for(i=0; 【20】 ;i++) printf("%8.2f",a[i]); if(i%5=0) printf("/n");