问答题下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。 例如,若输入“Ab,cD”,则输出“AB,CD”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#inClude < conio.h >#include < stdio.h >#include < string.h >char*fun(char tt[]){ int i; for(i=0;tt[i];i++)/*********found*********/ if((tt[i] >='a')||(tt[i] < ='z'))/*********found*********/ tt[i]+=32; return(tt); } main() { char tt[81]; print:f("/nPiease enter a string:"); gets(tt); printf("/nThe result stringis:/n%s",fun(tt)); }
问答题下列给定程序中,函数fun的功能是:求k!(k<13),所求阶乘的值作为函数值返回。例如,若k=10,则应输出3628800。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:
问答题下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AAaaBBbb123CCcccd,则应输出:upper=6,lower=8。请改正程序中的错误,使它得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:1 #include<stdio.h>2 /*********found*********/3 void fun(char*s,int a,int b)4 {5 while(*S)6 { if(*S>='A'&&*s<='z')7 /*********found*********/8 * a=a+1;9 if(*s>='a'&&*s<='z')10 /*********found*********/11 *b=b+1;12 s++;13 }14 }15 main()16 { char S[100];int upper=0,17 lower=0;18 printf("\nPlease a string:");19 gets(S);20 fun(S,&upper,&lower);21 printf("\n upper=%d lower=%d\n",upper,lower);22 }
问答题学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),其功能是:按分数的高低排列学生的记录,高分在前。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define M 16
typedef struct
{
char num[10];
int s;
)
STREC;
void proc(STREC a[])
{
int i,j;
STREC t;
for(i=1;j<M;i++) /*用冒泡法按从高到低排序*/
for(j=0;j<M-1;j++)
if(a[j].s<a[j+1].s)/*按分数的高低排列学生的记录,高分在前*/
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
void main()
{
STREC stu[M]={{"GA005",85},{"GA003",76},
{"GA002",69},{"GA004",85},{"GA001",91},
{"GA007",72},{"GA008",64},{"GA006",87},
{"GA015",85},{"GA013",91},{"GA012",64},
{"GA014",91},{"GA011",66},{"GA017",64},
{"GA018",64},{"GA016",72}};
int i;
proc(stu);
printf("The data after sorted:/n");
for(i=0;i<M;i++)
{
if(i%4==0)
//每行输出4个学生记录
printf("/n");
printf("%s%4d",stu[i].num,stu[i].s);
}
printf("/n");
}
问答题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上, b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=5142。
注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
void fun(int a, int b, long *c)
{
}
main()
{ int a,b; long c;
printf("Input a, b:");
scanf("%d,%d",
fun(a, b,
printf("The result is: %ld/n", c);
NONO();
}
问答题某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数,其功能是:求出该学生的平均分,并放入记录的ave成员中。
例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数fun()部位中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 8
typedef struet
{
char nnm[10];
double s[N];
double ave;
}STREC;
void fun(STREC*a)
{
}
void main()
{
STREC s={"GA005", 85.5, 76, 69.5, 85, 91, 72, 64.5, 87.5};
int i;
fun(
printf("The%s"s student data:/n", s.num);
for(i=0; i<N; i++)
printf("%4.1fkn", s.s[i]);
printf("/nknave=%7.3fkn", s.ave);
printf("/n");
}
问答题给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。
例如,形参s所指的字符串为:This is a C language program.,函数的返回值为6。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
int fun(char *s)
{ int n=0, flag=0;
while(*s!='/0')
{ if(*s!=' ' flag=1;}
/**********found**********/
if (*s==' ') flag= __2__ ;
/**********found**********/
__3__ ;
}
return n;
}
main()
{ char str[81]; int n;
printf("/nEnter a line text:/n"); gets(str);
n=fun(str);
printf("/nThere are %d words in this text./n/n",n);
}
问答题
请编写函数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 <stdio.h>
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,55}},i,j;
int a[100]={0},n=0;void NONO();
printf("The matrix:/n");
for(i=0; i<3; i++)
{ for(j=0;j<4; j++)printf("%3d", w[i][j]);
printf("/n");
}
fun (w,a,
printf("The A array:/n");
for(i=0; i<n; i++)printf("%3d",a[i]); printf("/n/n");
NONO();
}
void NONO()
{/* 请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */
FILE *rf,*wf;int i,j,k;
int w[10][10],a[100],n=0,mm,nn;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(k=0;k<5;k++) {
fscanf(rf, "%d %d",
for(i=0;i<mm;i++)
for(j=0;j<nn;j++) fscanf(rf,"%d",
fun(w,a,
for(i=0;i<n;i++) fprintf(wf,"%3d",a[i]);fprintf(wf,"/n");
}
fclose(rf);fclose(wf);
}
问答题给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文"是正读和反读都一样的字符串(不区分大小写字母)。
例如,LEVEL和Level是“回文”,而LEVLEV不是。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#include
int fun(char *s)
{ char *lp,*rp;
/********* found**********/
lp= 【1】 ;
rp=s+strlen(s)-1;
while((toupper(*lp)==toupper
(*rp)) rp 【2】 ;}
/********* found**********/
if(lp
问答题请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出:
7 1 1 14 21 22 28 33 35 42 44 49
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数mam和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#define M 100
void fun (int m. int *a , int *n)
{
}
main()
{int aa [M], n. k;
void NONO ();
fun (50, aa, &n);
for (k= 0; k
问答题main( )
{ int sum , k ;
sum=0 ;
k= 1 ;
while (k < =100 )
sum = sum+k ;
k + + ;
p rintf (“ sum=%d\n”, sum) ; }
问答题下列给定程序中,函数proc()的功能是根据整型形参n,计算如下公式的值:
y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(nn)
例如,n中的值为10,则应输出0.817962。
请修改程序中的错误,使它能得出正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
double proc(int n)
{
double y=1.0;
//****found****
int j=1;
int i;
for(i=2; i<=n; i++)
{
j=-1*j; //****found****
y+=1/(i*i);
}
return(y);
}
void main()
{
int n=10;
system("CLS");
printf("/nThe result is %1f/n", proc(n));
}
问答题下列给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> int fun(int n) { int i,j,count=0; printf("The prime number between 3 to %d\n",n); for(i=3;i<=n;i++) { /******found******/ for(【1】;j<i;j++) /******found******/ if(【2】%j==0) break; /******found******/ if(【3】>=i) { count++: printf(count%15? "%5d":"\n% 5d",i); } } return count; } main() { int n=20,r; r=fun(n); printf("\nThe number of prime is:%d\n",r); }
问答题下列给定程序中,函数fun的功能是:把数组中的元素按“最小、最大、次小、次大……''的顺序排列。
例如,若a所指数组中的数据最初排列为:1、2、3、4、5、6、7、8、9;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。
规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!
#include
#define N 9 void fun(int a[].int n) {int i,j,max,min,px,pn,t; for(i=0;i<n一i;j+=2) { /**********found**********/ max=min=【1】 px=pn=i; for(j=i+1;j<n;j++){ /**********found**********/ if(max<【2】) {max=a[j];px=j;} /**********found**********/ if(min>【3】) {max=a[j];pn=j;} } if(pn!=i), {t=a[i];a[i]=min;a[pn]=t; if(px==i)px=pn; } if(px!=i+1) {t=a[i+1];a[i+1]=max;a[px]=t;} } } main() {int b[N]={9,1,4,2,3,6,5,8,7},i; printf(''\nThe original data:\n''); for(i=0;i<N;i++)printf(''%4d'',b[i]); printf(''\n''); fun(b,N); printf(''\nThe data after moving:h\n''); for(i=0;i<N;i++)printf(''%4d'',b[i]); printf(''\n''); }
问答题下列给定程序中,函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。 例如,调用fun函数之前给字符串输入“ABCDeFGH”,调用后字符串中的内容应为“eABCDFGH”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >void fun(char*p){ char max,*q;int i=0; max=P[i]; while(p[i]!=0) { if(max < p[i]) {max=p[i];/*********found*********/ q=p+i } i++; }/*********found*********/ while(q < P) { *q=*(q一1);q一一; } p[0]=max;}void main(){ char str[80]; printf("Enter a string:"); gets(str); printf("/nThe originalstring:"); puts(str); fun(str); printf("/nThe string after moving:"); puts(str);printf("/n/n"); }
问答题下列给定程序中,函数proc()的功能是:利用插入排序法对字符串中的字符按从大到小的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前2个字符中,插入后前3个字符依然有序,再把第4个字符插入前3个字符中,待排序的字符串已在主函数中赋予。例如,原始字符串为“goodluck”,则排序后的字符串为“uoolkgdc”。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<string.h>
#include<stdio.h>
#define M 80
void proc(char*aa)
{
int i, j, n; char ch;
n=strlen(aa);
for(i=1; i<n; i++)
{
ch=aa[i];
j=i-1;
//****found****
while((j>=0)||(ch>aa[j]))
{
aa[j+1]=aa[j];
j--;
}
//****found****
aa[j]=ch;
}
}
void main()
{
char str[M]="goodluck";
printf("The original string: %s/n", str);
proc(str);
printf("The string after sorting: %s/n/n", str);
}
问答题下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。
例如,输入一个整数27638496,函数返回值为64862。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
unsigned long fun(unsigned long n)
{unsigned long x=0;int t;
while(n)
{ t=n%10;
/*********found*********/
if(t%2==
【1】
)
/*********found*********/
x=
【2】
+t;
/*********found*********/
n=
【3】
;
}
return x;
}
main()
{ unsigned long n=-1;
while(n>99999999‖n<0)
{ printf("Please input(0<n<100000000):");scanf("%ld",&n);}
printf("\nThe result is:%ld\n",fun(n));
}
问答题下列给定程序中,函数fun的功能 是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动maln函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >/*********found*********/void fun (int x,int y){ int t;/*********found*********/t=x;x=y;y=t;}void main (){ int a,b; a =8; b =3;fun(&a,&b); printf ("% d % d/n ", a,b) ; }
问答题编写函数fun(),它的功能是;根据以下公式求p的值,结果由函数值带回。m与n为两个正数且要求m>n。
P=m!/n!(m-n)!),例如:m=12,n=8时,运行结果为495.000000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <conio.h>
#include <stdio.h>
float fun (int m, int n)
{
}
main()
{
clrscr() ;
printf ("p=%f/n", fun (12,8) ) ;
}
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*****,删除后,字符串中的内容应当是:ABCDEFG******。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(char *a,char *p)
{
}
main()
{char s[81] ,*t;
voici NONO ();
printf ("Enter a string:/n");
gets (s);
t=s;
while (*t) t++;
t——;
while(*t=='*')t一一;
fun(s ,t);
printf( "The string after deleted:
/n"); puts(s);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *in, *out ,int i ; char s[81],*t ;
in= fopen ("in.dat","r");
out — fopen ("out.datf","Wf");
for(i=0; i < 10 ; i++) {
fscanf (in, "o%s",s);
t=s;
while (*t) t++;
t——;
while(*t=='*')t一一;
fun (s,t);
fprintf (out, "%s/n", s) ;
}
fclose (in);
fclose (out);
}
