问答题下列给定程序中函数fun的功能是:计算正整数nun各位上的数字之积。
例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<conio.h>
long fun(long num)
{
/********found********/
long k;
do
{
k*=num%10;
/********found********/
num/=10;
}while(num);
return(k);
}
main()
{
long n;
printf("/n please enter a number:");
scanf("%ld",
printf("/n%ld/n",fun(n));
}
问答题请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入''asd afaa z67'',则输出为''asdafaaz67''。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #include<ctype.h>3 void fun(char *str)4 {56 }7 main()8 {9 char str[81]; void NONO ();10 printf(''Input a string:'');11 gets(str);12 puts(str);13 fun(str);14 printf(''*** str: %s\n'',str);15 NONO();16 }17 void NONO()18 {19 /*请在此函数内打开文件,输入调试数据,调用fun函数,输出数据,关闭文件。*/20 char str[81];21 int n=0;22 FILE *rf,*wf;23 rf= fopen(''in.dat'',''r'');24 wf=fopen(''out.dat'',''w'');25 while(n<10) {26 fgets(str, 80, rf);27 fun(str);28 fprintf(wf,''%s'',str);29 n++;30 }31 fclose(rf);32 fclose(wf);33 }
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。 例如,字符串中的内容为“*******A*BC*DEF*G****”,若n的值为4,删除后,字符串中的内容应当是“****A*BC*DEF*G****”;若n的值为8,则字符串中的内容仍为“*******A*BC*DEF*G****”。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h >#include < conio.h >void fun(char* a,int r1){}void mair1(){ char s[81];int n; printf("Enter a string:/n"); gets(s); printf("Enter n:"); scar1f("%d",&n); fun(s,n); printf("The String after deleted:/n"); puts(s);}
问答题编写函数fun,其功能是:将s所指字符串中除了下标为奇数,同时ASCII码值也为奇数的字符之外,其余所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。
例如,若S所指字符串的内容为“ABCDEFG12345”,其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指数组中的内容应为“135”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
void fun(char*s,char t[])
{
}
main()
{
char s[100],t[100];
printf("/nPlease enter string s:");
scanf("%s",s);
fun(s,t);
printf("/nThe result is:%s/n",t);
}
问答题给定程序MODI1.C中函数fun的功能是:统计substr所指子字符串在str所指字符串中出现的次数。
例如,若字符串为aaas lkaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include <stdio.h>
int fun(char *str,char *substr)
{ int i,j,k,num=0;
/************found************/
for(i=0,str[i],i++)
for(j=i,k=0;substr[k]==str[j];k++,j++)
/************found************/
If(substr[k+1]=="/0")
{ num++;
break;
}
return num;
}
main()
{
char str[80],substr[80];
printf("Input a string:");
gets(str);
printf("Input a substring:");
gets(substr);
printf("%d/n",fun(str,substr));
}
问答题编程题
m个人的成绩存放在score数组中,请编写函数fun(),它的功能是:将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指的数组中。
例如,当score数组中的数据为24,35,88,76,90,54,59,66,96时,函数返回的人数应该是5,up中的数据应为88,76,90,66,96。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#include
int fun(int score[],int m, int up[])
{
}
main()
{
int i, n, up[9];
int score[9]={24,35,88,76,90,54,59,66,96};
clrscr();
n=fun(score, 9, up);
printf("/nup to the average score are: ");
for(i=0;i
问答题给定程序MODI1.C中函数fun的功能是: 比较两个字符串,将长的那个字符串的首地址作为函数值返回。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
/**********found**********/
char fun(char *s, char *t)
{ int sl=0,tl=0; char *ss, *tt;
ss=s; tt=t;
while(*ss)
{ sl++;
/**********found**********/
(*ss)++;
}
while(*tt)
{ tl++;
/**********found**********/
(*tt)++;
}
if(tl>sl) return t;
else return s;
}
main()
{ char a[80],b[80],*p,*q; int i;
printf("/nEnter a string : "); gets(a);
printf("/nEnter a string again : "); gets(b);
printf("/nThe longer is :/n/n/"%s/"/n",fun(a,b));
}
问答题下列给定程序中,函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制4个字符之后插入一个空格。例如,若给a输入字符串:ABCDEFGHIJK,调用函数后,字符数组b中的内容为:ABCD EFGH IJK。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MOD11.C中,不得增行或删行,也不得更改程序的结构。#include<stdio.h>void fun(char*P,char*b){int i,k=0;while(*p){i=1;while(i<=4&&*P){/**********found**********/b[k]=p;k++;p++;i++;}if(*P){/**********found**********/b[k++]='''';}}b[k]='\0';}main(){char a[80],b[80];printf(''Enter a string:'');gets(a);printf(''The original string:'');puts(a);fun(a,b);printf(''\nThe string after insert space:'');puts(b);printf(''\n\n'');}
问答题编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串“123412132”,输入字符为“1”,则输出3。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<sfdlib.h> #include<conio.h> #include<sfdio.h> #define M 81 int fun(char*SS,char C) void main() char a[M],ch; system("CLS"); printfl(/nPlease enter a string:"); getsia); printf("/nPlease enter a char:"); ch=getchar(); printf("/nThe number of the char is:%d/n",fun(a,ch));
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#define N 16
typedef struct
{ char num[10];
int s;
} STREC;
int fun(STREC *a, STREC *b)
{
}
main ()
{STREC
s[N]={{"GA05",85},{"GA03", 16},{"GAO
2",69},{"GA04",85},{"GA01",91},{"GA
07",72},{"GA08",64},{"GA06", 87},
{"GA015",85},{"GA013",91},{"GA012",
64},{"GA014",91},{"GA011",91},{"GAO
17",64},{"GA018",64},{"GA016",72}};
STREC h[N];
int i,n;FILE *out ;
n=fun(s,h);
printf("The %d lowest score:
/n",n);
for(i=0;i
问答题下列给定程序中,函数proc()的功能是:求整数x的y次方的低3位值。
例如,整数6的5次方为7776,此值的低3位值为776。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
long proc(int x, int y, long*p)
{
int i;
long t=1;
//****found****
for(i=1; i<y; i++)
t=t*x;
*p=t;
//****found****
t=t/1000;
return 1;
}
void main()
{
long t, r;
int x, y;
printf("/nInput x and y: "); scanf
("%1d%1d",
t=proc(x, y,
}
问答题给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。
例如,有下列矩阵:
1 2 3
4 5 6
7 8 9
10 11 12
若k为2,程序执行结果为:
7 8 9
4 5 6
1 2 3
10 11 12
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#define N 3
#define M 4
/*********found*********/
void fun(int(* a)[N],int
【1】
)
{int i,temp;
/*********found*********/
for(i=0 j i <
【2】
;i++)
{temp=a[0][i];
/*********found*********/
a[0][i]=
【3】
;
a[k][i]=temp;
}
}
main()
{int x[M][N]={{1,2,3),{4,5,
6),{7,8,9),{1 0,11,12)),i,j;
printf("The array before mov一
ing:/n/n");
for(i=0;i < M;i++)
{for(j=0;j < N;j++)
printf("%3d",x[i][j]);
printf("/n/n");
}
fun(x,2);
printf("The array after moving:/n/n");
for(i=0;i < M;i++)
{for(j=0;j < N;J++)
printf("%3d",x[i][j]);
printf("/n/n");
}
}
问答题程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。
例如:a 数组中的值为
|0 1 2 7 9|
|1 9 7 4 5|
a = |2 3 8 3 1|
|4 5 6 8 2|
|5 9 1 4 1|
则返回主程序后s的值应为: 3.375。
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
#define N 5
double fun ( int w[][N] )
{
}
main ( )
{ int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i, j;
double s ;
printf("***** The array *****/n");
for ( i =0; i
{ for ( j =0; j
{ printf( "M", a[i][j] ); }
printf("/n");
}
s = fun ( a );
printf ("***** THE RESULT *****/n");
printf( "The sum is : %lf/n",s );
NONO( );
}
问答题请编一个函数void fun( int tt[M][N], int pp[N], tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <conio.h>
#include <stdio.h>
#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<M;i++)
{
for(j=0;j<N;j++)
printf("%6d",t[i][j]);
printf("/n");
}
fun(t,p);
printf("/nThe result is:/n");
for(k=0;k<N;k++)
printf("%4d",p[k]);
printf("/n");
}
问答题编写函数fun(),其功能是从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。例如,若程序执行时输入字符串为turbo c and borland c++,从键盘上输入字符n,则输出后变为turbo c ad borlad c++。如果输入的字符在字符串中不存在,则字符串照原样输出。 #include<stdio.h> #include<string.h> void fun(char s[],char c) main() static char str[]="turbo c and borland c++"; char ch; printf("原始字符串:%s/n",str); printf("输入一个字符:"); scanf("%c", fun(str,ch); printf("str[]=%s/n",str);
问答题函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。
合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12。
调用该函数后,c=4251。
注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数mam和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun (int a, int b, long *c)
{
}
void NONO ()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rfr *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);
}
main()
{int a,b; long c;voici NONO ();
printf("Input a, b:");
scanf("%d%d", &a, &b);
fun (af b, &c);
printf( "The result is: oold/n",c);
NONO();}
问答题请编写函数fun, 对长度为7个字符的字符串, 除首、尾字符外,将其余5个字符按ASCII码降序排列。
例如,原来的字符串为 CEAedca,排序后输出为 CedcEAa 。
注意: 部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
#include
int fun(char *s,int num)
{
}
main()
{
char s[10];
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("/n%s",s);
NONO();
}
问答题给定程序MODI1.C中函数fun的功能是:计算函数(x,y,z)=(x+y)/(x.y)+(z+y)/(z.y)的值。其中x和y的值不等,z和y的值不等。例如,当X的值为9、y的值为11、z的值为15时,函数值为—3.50。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
#include
#include
#define FU (m,n) (m/n)
float fun (float a,float b,float c)
{ float value;
value=FU (a+b,a—b) +FU (c+b,c—b) ;
Return (Value) ;
main ()
{ float x,y,z,sum;
printf("Input x y z: ");
scanf ("%f%f%f",&x,&y,&z) ;
printf ( "x=%f,y=%f,z=%f/n",x,y,z) ;
if (x==y||y==z) {printf ("Data
error ! /n") ; exit (0) ; }
sum=fun (x,y,z) ;
printf("The result is : %5.2f/n",sum);
}
问答题
函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=5142。
注意:部分源程序存在文件PROG1.C中。数据文件in.dat中的数据不得修改。
请勿改动主函数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()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
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",
fun(a, b,
fprintf(wf, "a=%d, b=%d, c=%ld/n", a, b, c);
}
fclose(rf);
fclose(wf);
}
问答题请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 80
int fun(char*str)
{
}
main()
{
char s[N];
FILE*out;
char*test[]={"1234321","123421","123321","abcdCBA"};
int i;
printf("Enter a string:");
gets(s);
printf("/n/n");
puts(s);
if(fun(s))
printf("YES/n");
else
printf("NO/n");
/******************/
out=fopen("out.dat","w");
for(i=0;i<4;i++)
if(fun(test[i]))
fprintf(out,"YES/n");
else
fprintf(out,"NO/n");
fclose(out);
/******************/
}
