问答题给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include#include/**********found**********/doublefun(doublea,dounlex0){doublex1,y;xl=(x0+a/x0)/2.0;/**********found**********/if(fabs(xl-xo)>0.00001)y=fun(a,xl);elsey=xl;returny;}main(){doublex;printf("Enterx:");scanf("%lf",printf("Thesquarerootof%lfis%lf/n",x,fun(x,1.0));}
问答题给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
void fun(unsigned long *n)
{ unsigned long x=0, i; int t;
i=1;
while(*n)
/**********found**********/
{ t=*n % __1__;
/**********found**********/
if(t%2!= __2__)
{ x=x+t*i; i=i*10; }
*n =*n /10;
}
/**********found**********/
*n=__3__;
}
main()
{ unsigned long n=-1;
while(n>99999999||n<0)
{ printf("Please input(0
fun(
printf("/nThe result is: %ld/n",n);
}
问答题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用.1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#include
void WriteText (FILE *) ;
void ReadText (FILE *) ;
main ()
{FILE *fp;
if ((fp=fopen ( "myfile4 .txt","w"))
==NULL)
{ printf(" open fail! !/n");
exit (0) ; }
WriteText (fp) ;
fclose ( fp) ;
if ((fp=fopen ( "myfile4 .txt",
{printf (" open fail ! ! /n") ; exit (0) ; }
ReadText ( fp) :
fclose ( fp) ;
}
void WriteText(FILE ____1____)
{ char strl81l;
printf("/nEnter string with —1
to end :/n");
gets (str) ;
while (strcmp (str,"—1") ! =0) {
fputs (____2____,fw) ;
fputs ("/n",fw) ;
gets (str) ;
}
}
voicl ReadText (FILE *fr)
{ char str [81] ;
printf("/nRead file and output
to screen :/n") ;
fgets (str,81,fr) ;
while ( ! feof (fr)) {
printf("%s",____3____ );
fgets (str,81,fr) ;
}
}
问答题编写函数,把任意十进制正整数转换成二进制数。提示:把十进制数不断被2除的余数放在一个一维数组中,直到商数为零。在主函数中进行输出,要求不得按逆序输出。
问答题给定程序modil.c的主函数中,将a、b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include < stdio.h >typedef struct list{int data;struct list*next;}LTST;int fun(LTST*h){LIST*p;/*********found*********/int t;P=h;/*********found*********/while*p){/*********found*********/t=t+p.data;p=(*p).next;}return t;}main(){LIST a,b,c,*h;a.data=34;b.data=51;c.data=87;c.next='/0';h=&a;a.next;=&b;b.next;=&c;printf("总和=%d/n",fun(h));}
问答题下列给定程序中,函数fun的功能是:将N X N矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 交换后为: 3 2 1 4 5 6 9 8 7 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>#define N 4/******found******/void fun(int___1___,int n){ int i,s;/******found******/for(___2___;i++){ s=t[i][i]; t[i][i]=t[i][n—i一1];/******found******/ t[i][n一1一i]=___3___; }}main(){ int t[][N]=t 21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;prinff(“\nThe original array:\n”);for(i=0;i<N;i++){ for(j=0;j<N;j++) prinff(“%d”,t[i][j]); printf(“\n”); } fun(t,N); prinff(“\nThe result is:\n”); for(i=0;i<N;i++) { for(j=0;j<N;j++) prinff(“%d”,t[i][j]); printf(“\n”); }}
问答题给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 5
#define M 10
int fun (char (*ss) [Ml,int k)
{int i,j=0,len;
{ len=strlen (ss [i] ) ;
if (len<= 2 )
strcpy (ss[j++],____3____) ; )
return j;}
main ()
{ char
x [N] [M]= { "Beij ing"," Shanghai",
"Tianjing","Nanjing","Wuhan" } ;
int if f;
printf("/nThe original
string/n/n") ;
for (i=0;i
问答题下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。 例如,若输入的数为:55 12 34,输出的结果应当是:a=55.0,b=34.0,c=12.0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >void fun(float*a,float*b,float* c){/*********found*********/ float*k; if(*a < *b) { k=*a; *a=*b; * b=k; )/*********found*********/ if(*a > * c) { k=*c; *c=*a; *a=k; } if(*b < *c) { k=*b; *b=*c; *c=k; }}main(){ float a,b,c; printf("Input a b c:"); scanf("%f%f%f",&a,&b,&c); printf("a=%4.1 f,b=%4.1 f,c=%4.1 f/n/n",a,b,c); fun(&a,&b,&c); printf("a=%4.1 f,b=%4.1 f,c=%4.1 f/n/n",a,b,c);}
问答题请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
例如,字符串数组中的M个字符串为
AAAA
BBBBBBB
CC
则合并后的字符串的内容应是:
AAAABBBBBBBCC。
提示:strcat(a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define M 3
#define N 20
void fun(char a[M][N], char *b)
{
}
main ()
{ charw[M] [N]={"AAAA","BBBBBBB",
"CC"},a[100];
int i /void NONO ();
printf("The string:/n");
for(i=0; KM; i++) puts (w[i] ) ;
printf("/n");
fun (w, a) ;
printf("The A string:/n");
printf("%s"fa);printf("/n/n");
NONO();
}
void NONO ()
{/*请在此函数内打开文件,输入测试数
据,调用fun函数,输出数据,关闭文件。
*/
FILE *rf, *wf ;
char w[M][N], a[100] ; int i ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(rf,"%s %s %s",w[0],w[l],
w[2]);
fun(w, a);
fprintf(wf, "%s/n", a);
}
fclose(rf); fclose(wf);
}
问答题下列给定程序中,函数fun的功能是:先将字符串s中的字符按正序存放到字符串t中,然后把s中的字符按逆序连接到字符串t的后面。
例如,当s中的字符串为“ABCDE”时,则t中的字符串应为“ABCDEEDCBA”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdlib.h>
#include <conio<a>h<a>
#include <stdio.h>
#include <string.h>
void fun(char *s, char *t)
{
int i,s1;
s1=strlen(s);
/**********found**********/
for(i=0;i<=s1;i++)
t[i]=S[i];
for(i=0;i<s1;i++)
t[s1+i]=S[i];
/**********found**********/
t[s1]="\0";
}
void main()
{
char s[100],t[100];
system("CLS");
printf("\nPlease enter string s:");
scanf("%s",s);
fun(s,t);
printf("The result is:%s\n",t);
}
问答题填空题
str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。请补充函数fun(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如:str=“Bcd123e456hui890”,结果为:123456890。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#define N 80
int bb[N];
int fun(char s[],int bb[],int num)
{
int i,n=0;
for(i=0;i
问答题编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串“123412132”,输入字符为“1”,则输出3。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#def2ne M 81int fun(char*ss,char c){}void main(){ char a[M],ch; system("CLS"); printf("\nPlease enter a string:"); gets(a); printf("\nPlease enter a char:"); ch=getchar(); printf("\nThe number of the char is:%d\n",fun(a,ch)),}
问答题下列给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include <string.h> char *fun(char *s, char *t) char*p,*r, *a; /******************found*******************/ a=Null; while(*s) p=s; r=t; while(*r) /******************found*******************/ if(r==p)r++; p++; else break; if(*r=='/0')a=s; s++; return a; void main() char s[100], t[100], *p; printf("/nPlease enter string S:"); scanf("%s", s); printf("/nPlease enter substring t:"); scanf("%s", t); p=fun(s, t); if(p) printf("/nThe result is:%s/n", p); else printf("/nNot found!/n");
问答题请编写一个函数fun,它的功能是:将一个表示正整数的数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“1234”,则函数把它转换为整数值1234。函数fun中给出的语句仅供参考。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入需要编写的若干语句。
给定源程序:
#include <stdio.h>
#include <string.h>
long fun(char *p)
{
/*以下代码仅供参考*/
int i,len;/*len为串长*/
long x=0;
len=strlen(p);
/*以下完成数字字符串转换为一个数字。注意:字符'0'不是数字0*/
return x;
}
main() /*主函数*/
{ char s[6];
long n;
printf("Enter a string:/n");
gets(s);
n=fun(s);
printf("%ld/n",n);
}
问答题请编写函数fun(),其功能是计算并输出下列多项式的值:
F=1+1/1!+1/2!+1/3!+1/4!+…+1/m!
例如,若主函数从键盘给m输入5,则输出为F=2.716667。
注意:m的值要求大于1但不大于100。部分源程序给出如下。
请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
double fun(int m)
{
}
void main()
{ int m;
double f;
FILE *out;
printf("Input m:");
scanf("%d",
f=fun(m);
printf("F=%f/n", f);
out=fopen("outfile.dat", "w");
for(m=10; m<10; m++)
fprintf(out, "%f/n", fun(m));
fclose(out);
}
问答题请编写函数fun(),其功能是:将s所指字符串中除了下标为偶数、同时ASCII码值为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为ABCDEFG12345,其中字符B的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除,其他依次类推。最后t所指的数组中的内容应是ACEG。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<string.h) void fun(char *s, char t[]) main() char s[100],t[100]; clrscr(); printf("/nPlease enter string s:"); scanf("%s",s); fun(s,t); printf("/nThe result is: %s/n",t);
问答题给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:7654321时,t中的数为:7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 /**********found**********/3 void fun(long s,long t)4 { long s1=10;5 *t=s%10;6 while(s>0)7 { s=s/100;8 *t=s%10 * s1+*t,9 /**********found**********/10 s1=s1*100;11 }12 }13 main()14 {long s,t;15 printf(''\nPlease enter s:''); scanf(''%ld'',&s);16 fun(s,&t);17 printf(''The result is:%1d\n'',t);18 }
问答题编程题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:找出学生的最低分,由函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#define N 8
struct slist
{ double s;
struct slist *next;
};
typedef struct slist STREC;
double fun(STREC *h)
{
}
STREC * creat (double *s)
{
STREC *h,*p,*q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->s=0;
while(is=s[i]; i++; p->next=q; p=q;
}
p->next=NULL;
return h; /*返回链表的首地址*/
}
outlist(STREC *h)
{
STREC *p;
p=h;
printf("head");
do
{printf("->%2.0f ",p->s);p=p->next;} /*输出各分数*/
while(p!=NULL);
printf("/n/n ");
}
main()
{
double s[N]={56,89,76,95,91,68,75,85}, min;
STREC *h;
h=creat(s);
outlist(h);
min=fun(h);
printf("min=%6.1f/n ",min);
}
问答题给定程序MODI1.C中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 long fun(int x,int y,long *p)3 { int i;4 long t=1;5 /**********found**********/6 for(i=1 ; i<y; i++)7 t=t* x;8 *p=t;9 /**********found**********/10 t=t/1000;11 return t;12 }13 main()14 { long t,r; int x,y;15 printf(''\nTnput x and y: '');scanf(''%1d%1d'',&x,&y);16 t=fun(x,y,&r);17 printf(''\n\nx=%d,y=%d,r=%1d,1ast=%1d\n\n'',x,y,r,t);18 }
问答题请编写一个函数void proc(char *str),其功能是:将字符串str中所有下标为偶数位置上的字母转化为大写(若该位置上不是字母,则不转换)。
例如,若输入字符串:“thank you6 very much”,则应输出:“ThAnK YoU6 vErY MuCh”。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
void proc(char *str)
{
}
void main()
{
char tt[51];
system("CLS");
printf("Please enter an character string within 50 characters: /n");
gets(tt);
printf("/n/nAfter changing, the string/n%s", tt);
proc(tt);
printf("/nbecomes/n%s", tt);
}
