问答题给定程序MODI1.C中 fun 函数的功能是:分别统计字符串中大写字母和小写字母的个数。
例如, 给字符串 s 输入:AAaaBBb123CCccccd,则应输出结果:
upper = 6, lower = 8。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
/**********found**********/
void fun ( char *s, int a, int b )
{
while ( *s )
{ if ( *s >= 'A'
s++;
}
}
main( )
{ char s[100]; int upper = 0, lower = 0 ;
printf( "/nPlease a string : " ); gets ( s );
fun ( s,
printf( "/n upper = %d lower = %d/n", upper, lower );
}
问答题编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include < stdlib.h > #include < conio.h > #include <stdio.h > void fun(int m, int * k, int xx[]) void main () int m, n, zz[100]; system ("CLS"); printf ("/ nPlease enter an integer number between 10 and 100:"); scanf ("% d", &n); fun (n, &m, zz); printf ("/n/nThere are % d non- prime numbers less than % d:", m, n); for(n=0; n<m; n++) printf("/n % 4d", zz[n]);
问答题程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m。例如:若m的值为2,a数组中的值为则返回主程序后a数组中的值应为注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。给定源程序如下。#include<stdio.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][j]=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、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()
{inc a,b;long c;
printf("Input a,b:");
scanf("%d%d",&a,&b);
fun(a,b,&c);
printf("The result is:%ld/n",c);
}
问答题给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。
例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:
letter'a':3times
letter's':3times
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include
#include #include void fun(char,lc S) {int k[2 6]=f 0),n,i,max=0; char ch; while(*s) {if(isalpha(*s)){ /*********found*********/ ch=tolower(【1】); n=ch一'a'; /*********found*********/ k[n]+=【2】; } s++; /*********found*********/ if(max<k[n])max=M; ) printf("\nAfter count:\n"); for(i=0 ; i<26;i++) if(k[i]==max) printf("\nletter\'%c\':%dtimes\n",i+'a',k[i]); } main() { char s[81]; printf("\nEnter a string:\n\n"); gets(s); fun(s); }
问答题下列给定程序中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。 例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。 请改正程序中的错误,使它得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdlib.h >#include < conio.h >#inclucle < stdio.h >int fun(int*x,int y){ int t;/*********found*********/ t=x;x=y;/*********found*********/ return(y)=}void main(){ int a=3,b=8; system("CLS"); printf("%d%d/n",a,b); b=fun(&a,b); printf("%d%d/n",a,b);}
问答题请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<string.h>
#include<stdio.h>
#define N 80
int fun(char *s)
{
}
void main()
{
FILE * wf;
char line[N];
int num=0;
printf("Enter a string:/n");
gets(line);
num=fun(line);
printf("The number of wordis:%d/n/n",num);
/*********found*********/
wf=fopen("out.dat","w");
fprintf(wf,"%d",fun("a bigcar"));
fclose(wf);
/*********found*********/
}
问答题N名学生的成绩已在主函数中放入一个带有头结点的链表结构中,h指向链表的头结点。请编写函数fun(),其功能是:找出学生的最高分,并由函数值返回。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。试题程序:
#include<stdio.h>
#include<stdlib.h>
#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(i<N)
//产生8个结点的链表,各分数存入链表中
{
q=(STREC*)malloc(sizeof(STREC));
p-->s=s[i];i++;p->next=q;
p=q;
}
p->next=NULL;
return h; //返回链表的首地址
}
void outlist(STREC*h)
{
STREC*p;
p=h;
prinrf("head");
do{
printf("->%2.0f",p->s);
p=p->next;
}
//输出各分数
while(p->next!=NULL);
printf("/n/n");
}
void main()
{
double s[N]={85,100,99,85,91,72,64,87},max;
STREC*h;
h=creat(s);
outlist(h);
max=fun(h);
printf("max=%6.1f/n",max);
}
问答题请编写函数fun,其功能是计算并输出如下多项式的值。
S
n
=1+1/1!+1/2!+1/3!+1/4!+…+1/n!
例如,若主函数从键盘给n输入15,则输出为S=2.718282。
注意:n的值要求大于1但不大于100。部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
double fun(int n)
{
}
main()
{
int n;
double s;
printf("Input n:");
scanf("%d",
s=fun(n);
printf("S=%f/n", s);
}
问答题给定程序中,函数fun的功能是:判断形参s所指字符串是否是"回文"(Palindrome),若是,函数返回值为1;不是,函数返回值为0。"回文'是正读和反读都一样的字符串(不区分大小写字母)。
例如,LEVEL和Level是'回文",而LEVLEV不是"回文"。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int fun(char*s)
{ char*lp,*rp;
/*********found*********/
lp=
【1】
;
rp=s+strlen(s)-1;
while((toupper(*ip)==toupper
(*rp))&&(lp<rp)){
/*********found*********/
lp++;rp
【2】
;}
/*********found*********/
if(lp<rp)
【3】
;
else return 1;
}
main()
{char s[81];
printf("Enter a string:");
scanf("%s",s);
if(fun(s))
printf("\n\"%s\’is a Palindrome.\n\n”,s);
else
printf(“\n\"%s\"isn't a Palindrome.\n\n",s);
}
问答题编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。注意:部分源程序在文件PROG1.C中。清勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include<stdio.h> #include<string.h> #define M 81 int fun(char*ss,charc) { } main() { char a[M],ch; void NONO(); 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(); } void NONO() {/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int i; FILE*rf,*wf; char a[M],h[M],ch; rf=fopen(“in.dat”,“r”); wf:fopen(“out.dat”,“w”); for(i=0;i<10;i++) { fscanf(rf,“%s”,a); fscanf(rf,“%s”,b); ch=*b: fprintf(wf,“%c=%d\n”,ch,fun(a,ch)); } fclose(rf); fclose(wf); }
问答题学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序: #include<stdio.h> #define N 16 typedef struct { char num[10]; int s; }STREC; int fun(STREC*a,STREC*b) { } void main() { STREC S[N]={{"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",77},{"GA017",64},{"GA018",64},{"GA016",72}}; STREC h[N]; int i,n; n=fun(s,h); printf("The%d highest score:\n",n); for(i=0 ;i<n;i++) printf("%s%4d\n",h[i].num,h[i].s);/*输出最高分学生的学号和成绩*/ printf("\n");}
问答题给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和,和值通过函数值返回到main函数。例如,若n=5,则应输出8.391667。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include<stdio.h>/************found************/voidfun(intn){inta,b,c,k;doubles;s=0.0;a=2;b=1;for(k=1;k<=n;k++){/************found************/s=s+(Double)a/b;c=a;a=a+b;b=c;}returns;}main(){intn=5;printf("/nThevalueoffunctionis:%lf/n",fun(n));}
问答题下列给定程序中,函数fun()的功能是:将str所指字符串中的字母转换为按字母序列的后续字母(Z转换A,z转换a),其他字符不变。
请修改函数fun()中的错误,得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
void fun(char *str)
{
//****found****
while(*str1="@")
{
if(*str>="A"
else if(*str=="z")
*str="a";
else
*str+=1;
}
//****found****
(*str)++;
}
}
void main()
{
char str[80];
printf("/n Enter a string with length<80. :/n/n");
gets(str); printf("/n The string:/n/n");
puts(str);
fun(str);
printf("/n/n The Cords: /n/n");
puts(str);
}
问答题给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。例如,若m=2000,则应输出:0.000160。请改正程序中的语法错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include<stdio.h>/************found************/fun(intm){doubley=0,d;inti;/************found************/for(i=100,i<=m,i+=100){d=(double)i*(double)i;y+=1.0/d;}return(y);}main(){intn=2000;printf("/nTheresultis%lf/n",fun(n));}
问答题请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。 例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。 注意:要求n的值不大于100。 部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include <stdio.h> 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 < 10 ; i++) {fscanf(rf, "%d", s = fun(n);fprintf(wf, "%lf/n", s);}fclose(rf); fclose(wf);}main (){ int n; double s; printf("/nInput n: ");scanf("%d", s=fun(n);printf("/n/ns=%f/n",s); NONO();}
问答题请编写函数proc(),该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,若字符串数组中的M个字符串为: ABCD BCDEFG CDEFGHI 则合并后的字符串内容应该是ABCDBCDEFGCDEFGHI 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容。 试题程序: #include<stdio.h> #include<conio.h> #define M 3 #define N 20 void proc(char arr[M][N], char*b) void main() char str[M][N]=("ABCD", "BCDEFG", "CDEFGHI"), i; char arr[100]="##################"); printf("The string: /n"); for(i=0; i<M; i++) puts(str[i]); printf("/n"); proc(str, arr); printf("The A string: /n"); printf("%s", arr); printf("/n/n");
问答题给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:
问答题给定程序中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指的数组的尾部。例如,当a所指字符串中的内容为“abcdefg”,b所指字符串中的内容为“1234”时,c所指数组中的内容应“a4b3c2dlefg”;而当a所指字符串中的内容为“1234”,b所指字符串的内容为“abcdefg”时,c所指数组中的内容应该为“lg2f3e4dcba”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include <string.h> void fun (char*a, char*, char *c) inti, j; char ch; i=0; j=strlen(b)-1; /******************found*******************/ while(i>j) ch=b[i]; b[i]=b[j]; b[j]=ch; i++; j--; while (*a|| *b) /******************found*******************/ If(*a) *c=*a; c++; a++; if(*b) *c=*b; c++; b++; *c=0; main() char s1[100], s2[100], t[200]; printf("/nEnter s1 string:"); scanf("%s", s1); printf("/nEnter s2 string:"); scanf("%s", s2); fun(s1, s2, t); printf("/nThe result is: %s/n", t);
问答题给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 20
void fun( int *a)
{ int i, x, n=0;
x=rand() ;
/**********found**********/
while (n<__1__)
{ for(i=0; i
/**********found**********/
if( x==a[i] ) __2__;
/**********found**********/
if( i==__3__){ a[n]=x; n++; }
x=rand() ;
}
}
main()
{ int x[N]={0} ,i;
fun( x );
printf("The result : /n");
for( i=0; i
{ printf("M",x[i]);
if((i+1)%5==0)printf("/n");
}
printf("/n/n");
}
