问答题请编写程序,输入一行数字字符(用回车结束),每个数字字符的前后都有空格。请编程,把这一行中的数字转换成一个整数。例如,若输入(<CR>代表Enter键):
2 4 8 3 <CR>
则输出整数:2483。
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它“*”号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。 例如, 字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:****ABCDEFG。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include<stdio.h>void fun(char *a){/*以下代码仅供参考*/int i=0,k;while(a[i]=='*')i++;k=i;while(a[i]!='\0')/*以下程序段实现非*字符前移*/{}a[k]='\0';}main(){char s[81];void NONO();printf("Enter a string:\n");gets(s);fun(s);printf("The string after deleted:\n");puts(s);NONO();}void NONO()(/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE *in,*out;int i;char s[81];in=fopen("in.dat","r");out=fopen("out.dat","w"); for(i=0;i<10;i++){ fscanf(in,"%S",s);fun(s);fprintf(out,"%s\n",s); } fclose(in); fclose(out); }
问答题给定程序MODI1.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:
问答题请编写函数fun,该函数的功能是:计算并输出s=1+(1+2
0.5
)+(1+2
0.5
+3
0.5
)+…+(1+2
0.5
+3
0.5
+…+n
0.5
)的值。
例如,若主函数从键盘给n输入20后,则输出为S=534.188884。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<math.h>
#include<stdio.h>
double fun(int n)
{
}
void main()
{
int n;
double s;
printf("/n/nInput n:");
scanf("%d",
s=fun(n);
printf("/n/nS=%f/n/n",s);
}
问答题请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。 S=1+x+x2/2!3/3!+…/xn/n! 例如,当n=10,x=0.3时,函数值为1349859。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<math.h> double fun(double x, int n) main () clrscr (); printf ("%f ",fun(0,3,10));
问答题编程题
请编一个函数void fun(int tt[M][N], int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#define M 3
#define N 4
void fun(int tt[M][N],int pp[N])
{
}
main()
{
int t[M][N]={{68, 32, 54, 12},{14, 24, 88, 58},{42, 22, 44, 56}};
int p[N],i,j,k;
clrscr();
printf("The riginal data is:/n");
for(i=0;i
问答题给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参y所指数组中,在主函数中输出。
例如,有10个正数:46、30、32、40、6、17、45、15、48、26,其平均值为30. 500000。
主函数中输出:46 32 40 45 48。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdlib.h >
#include < stdio.h >
#define N 10
double fun (double x[ ],double *y)
{ int i,j; double av;
/*********found*********/
av =
【1】
;
/*********found*********/
for(i=0;i < N;i++)
av=av+
【2】
;
for(i=j=0;i < N;i++)
/*********found*********/
if(x[i] >av)y
【3】
=x[i];
y[j]=一1;
return av;
}
main ()
{ int i; double x[N],y[N];
printf ("/n") ;
printf ("/nThe average is: % f printf ("% 5.lf ",y[i] ) ;
printf "/n") ;
问答题函数fun的功能是:输出a所指数组中的前11个数据,要求每行输出5个数。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
void fun(int*a,int n)
{ int i ;
for(i=0;i<n;i++)
{
/*********found*********/
if(
【1】
==0)
/*********found*********/
printf("
【2】
");
/*********found*********/
printf("%d",
【3】
);
}
}
main()
int a[100]={0},i,n;
n=22;
for(i=0;i<n;i++)
a[i]=rand()%21;
fun(a,n);
printf("\n");
}
问答题给定程序MODI1.C中 fun 函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
例如, 若输入
"I am a student to take the examination.",
则应输出 "I aM A studenT tO takE thE examination."。
请修改程序中的错误之处, 使它能得出正确的结果。
注意: 不要改动 main 函数, 不得删行, 也不得更改程序的结构!
给定源程序:
#include
#include
void fun( char *p )
{
int k = 0;
for( ; *p; p++ )
if( k )
{
/**********found***********/
if( p == ' ' )
{
k = 0;
/**********found***********/
* (p-1) = toupper( *( p - 1 ) )
}
}
else
k = 1;
}
main()
{
char chrstr[64];
int d ;
printf( "/nPlease enter an English sentence within 63 letters: ");
gets(chrstr);
d=strlen(chrstr) ;
chrstr[d] = ' ' ;
chrstr[d+1] = 0 ;
printf("/n/nBefore changing:/n %s", chrstr);
fun(chrstr);
printf("/nAfter changing:/n %s", chrstr);
}
问答题请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串: 123412132,输入字符为: 1,则输出:3。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
#define M 81
int fun(char *ss, char c)
{
}
main()
{ char a[M], ch;
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));
NONO ( );
}
问答题函数fun的功能是:将a、b中的两个正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量e的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。例如,当a=45,b=12。调用该函数后,c=5241。注意:部分源程序在文件PROG1.C中。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>void fun(int a,int b,long*c){}main(){int a,b;long c;void NONO(); printf("Input a,b:"); scanf("%d%d",&a,&b); fun(a,b,&c); printf("The result is:%1d\n",c); NONO();}void NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ FILE*rf,*wf ; int i,a,b;long c; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(i=0;i<10;i++){ fscanf(rf,"%d,%d",&a,&b); fun(a,b,&c); fprintf(wf,"a=%d,b=%d,c=%ld\n",a,b,c); } fclose(rf); fclose(wf);}
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。
注意: 部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
void fun( char *a )
{
}
main()
{ char s[81];
printf("Enter a string:/n");gets(s);
fun( s );
printf("The string after deleted:/n");puts(s);
NONO();
}
问答题下列给定程序中,函数proc()的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头2个元素进行排序,然后把第3个字符插入到前2个字符中,插入后前3个字符依然有序;再把第4个字符插入到前3个字符中,待排序的字符串已在主函数中赋予。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<string.h>
#include<stdio.h>
#define M 80
void proc(char *arr)
{ int i, j, n; char ch;
n=strlen(arr);
for(i=1; i<n; i++)
//****found****
{c=arr[i];
j=i-1;
while((j>=0)
j--;
}
arr[j+1]=ch;
}
}
void main()
{
char a[M]="QWERTYUIOPASDFGHJKLMNBVCXZ";
printf("The original string: %s/n", a);
proc(a);
printf("The string after sorting: %s/n/n", a);
}
问答题给定程序MODI1.C中函数fun的功能是:求k!(k
long fun ( int k)
{
if k > 0
return (k*fun(k-1));
else if ( k=0 )
return 1L;
}
main()
{ int k = 10 ;
printf("%d!=%ld\n", k, fun ( k )) ;
}
问答题请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。
例如,二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:
33 44 55 33 44 55 33 44 55 33 44 55。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(int s[] [10],int b[],int
*n,int mm. int nn)
{
}
main ( )
{ int w[10] [10]={ {33,33,33,33},{44,
44,44,44},{55,55,55,55Jlri,j;
int a[100]={0},n=0;voidNONO ();
printf ("The matrix:/n") ;
{ for (j=0; j<4; j++) printf ( "%3d",
printf("The A array:/n");
for (i=0; i
问答题请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的内容为"ABCDEFGHIJK",m的值为3,移动后,字符串中的内容应该是"DEFGHIJKABC"。
注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
#define N 80
void fun(char*w,int m)
{
}
void main()
{
FILE*wf;
char a[N]="ABCDEFGHIJK",b[N]="ABCDEFGHIJK";
int m;
printf("The origina string:/n");
puts(a);
printf("/n/nEnter m:");
scanf("%d",
fun(a,m);
printf("/nThe string after moving:/n");
puts(a);
printf("/n/n");
/*********found*********/
wf=fopen("out.dat","w");
fun(b,3);
fprintf(wf,"%s",b);
fclose(wf);
/*********found*********/
}
问答题M名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数proc(),它的功能是:找出学生的最高分,由函数值返回。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容。 试题程序: #include<stdio.h> #include<stdlib.h> #define M 8 struet slist double s; struct slist * next; ; typedef struct slist STREC; double proc(STREC * h) STREC*treat(double*s) STREC *h, *p, *q; int i=0; h=p=(STREC*)malloc(sizeof(STREC)); p->s=0; while(i<M) /产生8个结点的链表,各分数存入链表中 q=(STREC*)malloc(sizeof(STREC)); p->s=se[i]; i++; p->next=q; p=q; p->next=NULL; return h; //返回链表的首地址 void outlist(STREC*h) STREC *p; p=h; printf("head"); do printf("->%2.Of", p->s); p=p->next; //输出各分数 while(p->next! =NULL); printf("n/n"); void main() double stu[M]=60, 70, 80, 90, 65, 75, 85, 95, max; STREC *h; h=creat(stu); outlist(h); max=proc(h); printf("max=%6.1f/n", max);
问答题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<stdlib.h>3 #define N 84 typedef struct list5 { int data;6 struct list *next;7 } SLIST;8 SLIST *creatlist(int *a);9 void outlist(SLIST *);10 void fun(SLIST *h,int *n)11 { SLIST *p;12 /**********found**********/13 ___1___=0 ;14 p=h->next;15 while(p)16 {(*n)++;17 /**********found**********/18 p=p->___2___;19 }20 }21 msin()22 {SLIST*head;23 int a[N]={12,87,45,32,91,16,20,48},num;24 head=creatlist(a); outlist(head);25 /**********found**********/26 fun(__3__,27 printf(''\nnumber=%d\n'',num);28 }29 SLIST *creatliSt(int a[])30 {SLIST *h,*p,*q;int i;31 h=p=(SLIST *)malloc(sizeof(SLIST));32 for(i=0;i<N;i++)33 {q=(SLIST *)malloc(sizeof(SLIST));34 q->data=a[i];p->next=q;p=q;35 }36 p->next=0;37 return h;38 }39 void outlist(SLIST *h)40 {SLIST *p;41 p=h->next;42 if(p==NULL)printf(''The list is NULL!\n'');43 else44 {printf(''\nHead'');45 do46 {printf(''->%d'',p->data);p=p->next;}47 while(p!=NULL);48 printf(''->End\n'');49 }50 }
问答题程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m。例如:若m的值为2,a数组中的值为则返回主程序后a数组中的值应为请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。给定源程序:#include<sidio.h>#include<stdlib.h>#defineN5voidfun(inta[][N],intm){}main(){inta[N][N],m,i,j;printf("*****Thearray*****/n");for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][i]=rand()%20;printf("%4d",a[i][j]);}printf("/n");}dom=rand()%10;while(m>=3);printf("m=%4d/n",m);fun(a,m);printf("THERESULT/n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%4d",a[i][j]);printf("/n");}}
问答题规定输入的字符串只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。 例如, 字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 void fun(char *a)3 {4 }5 main()6 { char s[81];7 void NONO();8 printf(''Enter a string:\n''); gets(s);9 fun(s);10 prLntf(''The string after deleted:\n'');puts(s);11 NONO();12 }13 void NONO()14 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */15 FILE *in,*out;16 int i;char s[81];17 in=fopen(''in.dat'',''r'');18 out=fopen(''out.dat'',''w'');19 for(i=0;i<10;i++){20 fScanf(in,''%s'',s);21 fun(s);22 fprintf(out,''%s\n'',s);23 }24 fclose(in);25 fclose(out);}