问答题给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
例如,若形参s所指的字符串为“abcdef35adgh3kjsdf7”,则输出结果为4。
请在程序的下画线处填入正确内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(char*s,int*t)
{ int i,n;
n=0;
/*********found*********/
for(i=0;
【1】
!1=0;i++)
/*********found*********/
if(s[i]>='0'&&s[i]<=
【2】
)n ++;
/*********found*********/
【3】
;
}
main()
{ char s[80]="abcdef35adgh3kjsdf7";
int t;
printf("\nThe original string is:%s\n",s);
fun(s,&t);
printf("\nThe result is:%d\n",t);
}
问答题printf("The sum is : %lf/n ",s);
问答题函数fun的功能是:将一副扑克牌编号为1,2,3,…,53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交叉,并始终保持编号为1的牌在最上方,如第一次这样洗牌后的结果为:1,28,2,29,…,53,27,54。两次洗牌后的结果为:1,41,28,15,2,42…,53,40,27,14,54。
程序的功能是:输出经过11次这样洗牌后的结果。
请在程序的下画线处填入正确的内容,并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(int a[55],int n)
{ int i,k;
/*********found*********/
int
【1】
[55];
for(i=0;i<n;i++)
{ for(k=1;k<=27;k++)
{b[2*k一1]=a[k];
/*********found*********/
b[
【2】
*k]=a[k+27];
}
for(k=1;k<=54;k++)
/*********found*********/
a[k]=
【3】
;
}
}
main()
{ int m,a[55],i;
for(i=1;i<55;i++)a[i]=i;
printf("请输入洗牌次数:");
scanf("%d",&m);
fun(a,m);
for(i=1;i<55;i++)
printf("%d,",a[i]);
printf("\n");
}
问答题下列给定程序中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。字符串的长度最长允许为79。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件NODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>#include<string.h>void fun(char s[],int n){ char a[80],*p; int i;/*********found*********/ s=p; for(i=0;i<n;i++)a[i]='*'; do { a[i]=*p; i++; }/*********found*********/ while(*P++) a[i]=0; strcpy(s,a);}main(){ int n;char s[80]; printf("\nEnter a string:"); gets(s); printf("\nThe string\"%s\"\n",s); printf("\nEnter n(number of*):"); scanf("%d",&n); fun(s,n); printf("\nThe string after insert:\"%s\"\n",s);}
问答题请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
例如,在主函数中从键盘给n输入20后,输出为:
s=0.583333。
注意:要求n的值不大于100。
部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
double fun(int n)
{
)
NONO()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */
FILE*rf,*wf;int n,i;double s;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<1 0;i++){
fscanf(rf,"%d",&n);
s=fun(n);
fprintf(wf,"%lfkn",s);
}
fc10Se(rf); fclose(wf);
}
main()
{ int n; double s;
printf("/nInput n:"); scanf("%d",
&n);
s=fun(n);
printf("/n/ns=%f/n",s);
NONO();
}
问答题给定程序MODI1.C中函数fun的功能是: 将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换为a),其它字符不变。请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
#include
void fun (char *s)
{
while(*s!='@')
{ if(*s>='A'
else if(*s=='z') *s='a';
else *s += 1;
}
(*s)++;
}
}
main()
{ char s[80];
printf("\n Enter a string with length < 80. :\n\n "); gets(s);
printf("\n The string : \n\n "); puts(s);
fun ( s );
printf ("\n\n The Cords :\n\n "); puts(s);
}
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
# include<stdio, h>
#define N 8
typedef struct
{ char num[10];
double s;
} STREC;
double fun(STREC *a, STREC *b, int *n)
{
}
main ( )
{
STREC s [N]={ { "GA05",85} , { "GA03", 76}
{"GA02",69} , { "GA04", 85}
{"GA01",91} {"GA07",72}, { "GA08", 64}
{"GA0 6",87}};
STSC h [N], t;
FILE *out;
int. i,j,n;
double ave;
ave=fun (s, h,
printf("The %d student data which is
lower than %7.3f:/n" n, ave);
for (i=0; i<n; i++)
/*输出成绩低平均值的学生记录*/
printf("%s %4 lf/n" h[i] num,
h[i].s);
printf ("/n ");
out=fopen("out71 dat","w"
fprintf(out, "%d/n%7.3f/n",n ave);
/* 输出平均值/
for (i=0; i<n-1; i++)
for (j=i+l; j<n; j++)
if (h[i] .s>h[j ] .s)
{t=h[i]; h[i]=h[j]; h[j]=t;}
/*将成绩由低至高排列*/
for (i=0; i<n; i++)
fprintf(out, "%4 lf/n "h[i] s);
fclose (out);
}
问答题请编写—个函数,用来删除字符串中的所有空格。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include <stdio.h> #include <ctype.h> #include<conio.h> void fun (char *str) main() char str[81]; char Msg[]="Input a string:"; int n; printf(Msg); gets(str); puts(str); fun(str); printf("***str:%s/n", str);
问答题
给定程序MODI1.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<math.h>
void fun(int a, int *b, int*c)
{int i, j, d, y;
for(i=3; i<=a/2; i=i+2){
/**********found**********/
Y=1;
for(j=2; j<=sqrt((double)i); j++)
if(i%j==0) y=0;
if(y==1){
/**********found**********/
d==a-i;
for(j=2; j<=sqrt((double)d); j++)
if(d%j==0) y=0;
if(y==1)
{*b=i; *c=d;)
}
}
}
main()
{int a, b, c;
do
{printf("/nInput a: "); scanf ("t%d", }
while(a%2);
fun(a,
printf("/n/n%d=%d+%d/n", a, b, c);
}
问答题请编写一个函数fun(),它的功能是:将ss所指字符串中所有下标为偶数位置的字母转换为小写(若该位置上不是字母,则不转换)。
例如,若输入ABC4efG,则应输出aBc4efg。
注意:部分源程序给出如下。
请勿改动主函数miain和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
void fun(char *ss)
{
}
main()
{
char tt[81];
clrscr();
printf("/nPlease enter an string within 80
characters:/n");
gets(tt);
printf("/n/nAfter changing,the string/n
/%s",tt);
fun(tt);
printf("/nbecomes/n /%s/n",tt);
}
问答题编写函数fun,它的功能是计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includelincludedoublefun(doublex,intn){}main(){voidNONO();printf("%f/n",fun(0.3,10));NONO();}voidNONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti,n;doubles,x;fp=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i
问答题给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。例如,若m=2000,则应输出:0.000160。请改正程序中的语法错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1#include<stdio.h>2/**********foundv/3fun(intm)4{doubley=0,d;5inti;6/**********found**********/7for(i=100,i<=m,i+=100)8{d=(double)i*(double)i;9y+=1.0/d;10}11return(y);12}13main()14{intn=2000;15printf(''\nTheresultis%1f\n'',fun(n));16}
问答题请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值 -1234。函数fun中给出的语句仅供参考。
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
long fun ( char *p)
{
/* 以下代码仅供参考 */
int i, len, t; /* len为串长,t为正负标识 */
long x=0;
len=strlen(p);
if(p[0]=='-')
{ t=-1; len--; p++; }
else t=1;
/* 以下完成数字字符串转换为一个数字 */
return x*t;
}
main() /* 主函数 */
{ char s[6];
long n;
printf("Enter a string:/n") ;
gets(s);
n = fun(s);
printf("%ld/n",n);
NONO ( );
}
NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i ;
char s[20] ;
long n ;
fp = fopen("c://test//in.dat","r") ;
wf = fopen("c://test//out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%s", s) ;
n = fun(s);
fprintf(wf, "%ld/n", n) ;
}
fclose(fp) ;
fclose(wf) ;
}
问答题请编写一个函数fun,其功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入:“abc4Efg”,则应输出“aBc4EFg”。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
#include<string.h>
void fun(char *ss)
{
}
void main(void)
{
char tt[51];
printf("/nPlease enter an character string within 50 characters:/n");
gets(tt);
printf("/n/nAfter changing, the string/n"%s", tt);
fun(tt);
printf(:/nbecomes/n "%s"", tt);
}
问答题编写函数proc(),函数的功能是:根据以下公式计算s,计算结果作为函数值返回,m通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+m) 例如,若n的值为11时,函数的值为1.833333。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #include<string.h> float proc(int m) void main() int m; float s; system ("CLS"); printf("/nPlease enter M: "); scanf("%d", s=proc(m); printf("The result is: %f/n", s);
问答题给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
int fun(int m)
{ int i, k ;
for (i = m + 1 ; ; i++) {
for (k = 2 ; k < i ; k++)
/**************found**************/
if (i % k != 0)
break ;
/**************found**************/
if (k < i)
return(i);
}
}
void main()
{
int n ;
n = fun(20) ;
printf("n=%d/n", n) ;
}
问答题函数fun的功能是:将a、b中的两个正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12。调用该函数后,c=5241。
注意:请勿改动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",
fun(a,b,
printf("The result is:%ld/n",c);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FTLE*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",
fun(a,b,
fprintf(wf,"a=%d,b=%d,c=%ld/n",a,b,c);
}
fclose(rf);
fciose(wf);
}
问答题给定程序MODI1.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第1门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第1门课程的平均分是:76.125000 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。1 #include<stdio.h>2 typedef struct3 {char num[8];4 double score[2];5 }STU;6 double fun(STU std[],int n)7 {int i;8 /**********found**********/9 double sum;10 /**********found**********/11 for(i=0;i<2;i++)12 /**********found**********/13 sum+=std[i].score[1];14 return sum/n;}15 main()16 { STU std[]={''N1001'',76.5,82.0,''N1002'',66.5,73.0,''N1005'',80.5,66.0,17 ''N1006'',81.0,56.0};18 printf(''第1 门课程的平均分是:%if\n'',fun(std,4));19 }
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #define N 123 typedef struct4 { char num[10];5 double s;6 } STREC;7 double fun(STREC *a,STREC *b,int *n)8 {9 }10 main()11 {STREC s[N]={{''GA05'',85},{''GA03'',76}, {''GA02'',69},(''GA04'',85},{''GA01'',91},{''GA07'',72},{''GA08'',64},{''GA06'',87},{''GA09'',60},{''GA11'',79},{''GAl2'',73},{''GAl0'',90}};12 STREC h[N],t;FILE *out;13 int i,j,n;double ave;14 ave=fun(s,h, i<n-1;i++)22 for(j=i+1;j<n;j++)23 if(h[i].s<h[j].s){ t=h[i];h[i]=h[j];h[j]=t;}24 for(i=0;i<n;i++)25 fprintf(out,''%4.1f\n'',h[i].s);26 fclose(out);}
问答题下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是使数组右上半三角元素中的值全部置成0。例如a数组中的值为 a=4 5 6 1 7 9 3 2 6, 则返回主程序后a数组中的值应为 0 0 0 1 0 0 3 2 0 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<stdlib.h> #define N 5 int fun(int a[ ][N]) main() int a[N][N],i,j; clrscr( ); printf("*****The array*****/n"); for(i=0;i<N;i++) /*产生—个随机的5*5矩阵*/ for(j=0;j<N;j++) a[i][j]=rand( )%10; printf ("%4d",a[i][j]); printf("/n"); fun(a); printf("THE RESULT/n"); for(i=0;i<N;i++) for(j=0;i<N;j++) printf("%4d",a[i][j]); printf("/n");