问答题请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入“abc4Efg”,则应输出“aBc4EFg”。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:
问答题下列给定程序中函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。例如:把三个串“abc”、“CD”、“EF”连接起来,结果是“abcCDEF”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序: #include<stdio.h> #include<string.h> void fun(char sir[][10], int m,char*pt) { /*********found*********/ Tnt k,q,i; for(k=0;k<m;k++) { q=strlen(sir[k]); for(i=0 j i<q;i++) /*********found*********/ pt[i]=str[k,i]; pt+=q; pt[0]=0; }}main(){ int m,h; char s[10][10],P[120]; printf(“Please enter m:”); scanf(“%d”,&m),gets(s[0]), printf(“Please enter%d string:”,m); for(h=0;h<m;h++)gets(s[h]); fun(s,m,p); printf(“The result is:%s”, p);}
问答题请编写函数fun,该函数的功能是:将s所指字符串中ASCII码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为“ABeDEFG12345”,其中字符B的ASCII码值为偶数,字符2的ASCII码值为偶数,都应当删除,其他依此类推。最后t所指的数组中的内容应是“ACEGl35”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdlib.h >#include < stdio.h >#include < string.h >#include < conio.h >void fun(char* s,char t[]){}void main(){ char s[100],t[100]; system("CLS"); printf("/nPlease enterstring s:"); scanf("%s",s); fun(s,t); printf("/nThe result is:%s/n",t);}
问答题编程题
请编写一个函数void fun(int m, int k, int xx[]),该函数的功能是:将大于整数m且紧靠m的k个非素数存入所指的数组中。
例如,若输入15,5,则应输出16,18,20,21,22。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
void fun(int m, int k, int xx[])
{
}
main()
{
int m,n,zz[1000];
clrscr();
printf("/nPlease enter two integers: ");
scanf("%d%d",
fun(m, n, zz);
for(m=0;m
问答题请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #define M 4 #include<stdio.h> int fun(int a[][M]) void main() int arr[2][M]=5,8,3,45,76,-4,12,2; printf("max=%d/n",fun(arr));
问答题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如:b所指变量t中的学号、姓名、和三门课的成绩依次是:10002、''ZhangQi''、93、85、87,修改后输出t中的数据应为:10004、''LiJie''、93、85、87。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<string.h>3 struct student {4 long sno;5 char name[10];6 float score[3];7 };8 void fun(struct student *b)9 {10 /**********found**********/11 b__1__=10004;12 /**********found**********/13 strcpy(b__2__,''LiJie'');14 }15 main()16 { struct student t={10002,''ZhangQi'',93,85,87};17 int i;18 printf(''\n\nThe original data:\n'');19 printf(''\nNo:%id Name:%s\nScores:'',t.sno,t.name);20 for(i=0;i<3;i++)printf(''%6.2f'',t.score[i]);21 printf(''\n'');22 /**********found**********/23 fun( __3__);24 printf(''\nThe data after modified:\n'');25 printf(''\nNo:%id Name:%s\nScores:'',t.sno,t.name);26 for(i=0;i<3;i++) printf(''%6.2f'',t.score[i]);27 printf(''\n'');28 }
问答题给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。
例如,若输入"Ab,cD",则输出"AB,CD"。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
char* fun(char tt[])
{
int i;
for(i = 0; tt [i]; i++)
/********** found* **********/
if (('a'<=tt[i]) | | (tt[i]<='z'))
/********** found* **********/
tt[i] += 32;
return(tt);
}
main ()
{
char tt[81];
printf("/nPlease enter a
string:");
gets(tt);
printf("/nThe result string is:
/n%s", fun(tt));
}
问答题给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:
30.500000
主函数中输出:m=30.0
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 10
double fun(double x[],double *av)
{ int i,j; double d,s;
s=0;
for(i=0; i
/**********found**********/
__1__=s/N;
d=32767;
for(i=0; i
if(x[i]<*av j=__2__;}
/**********found**********/
return __3__;
}
main()
{ int i; double x[N],av,m;
for(i=0; i4.0f ",x[i]);}
printf("/n");
m=fun(x,
printf("/nThe average is: %f/n",av);
printf("m=%5.1f ",m);
printf("/n");
}
问答题给定程序MODI1.C中fun函数的功能是:求出以下分数序列的前n项之和。和值通过函数值返回main函数。例如,若n=5,则应输出:8.391667。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include/***********found***********/fun(intn){inta=2,b=1,c,k;doubles=0.0;for(k=1;k
问答题请编写一个函数void proc(char *tt, int pp[]),统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。
例如,当输入字符串abcdefghxyzabcdeffe后,程序的输出结果应该是:2 2 2 2 3 3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#ihclude<stdlib.h>
void proc(char*tt,int pp[])
{
}
void main()
{
char str[1000];
int bb[26], k;
system("CLS");
printf("/nPlease enter a char string: ");
scanf("%s", str);
proc(str, bb);
for(k=0; k<26; k++)
printf("%d", bb[k]);
printf("/n");
}
问答题给定程序MODI1.C中函数fun的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。
在每组中,可以没有黑球,但必须要有红球和白球。
组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动maln函数,不得增行或删行,也不得更改程序的结构!
#include
int fun()
{ int i,j ,k,sum=0;
printf("/nThe result :/n/n") ;
{ k=8—i—j;
/*********found**********/
if(K>=0 &K<=6)
{ sum=sum+1;
printf ( "red: o04d
white: %4d black: %4d/n", i,j ,k) ;
}
}
}
return sum;
}
main ()
{ int sum;
sum=fun () ;
printf ("sum =%4d/n/n",sum) ;
}
问答题学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),它的功能是按分数的高低排列学生的记录,低分在前。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define M 16
typedef struct
{
char num[10];
int s;
}STREC;
void proc(STREC stu[])
{
}
void main()
{
STREC stu[M]={{"GA005",88},{"GA003",64},
{"GA002",77},{"GA004",89},{"GA001",54},
{"GA007",72},{"GA008",72},{"GA006",65},
{"GA015",83},{"GA013",95},{"GA012",55},
{"GA014",68},{"GA011",78},{"GA017",53},
{"GA018",92},{"GA016",82}};
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:在形参指针所指的4个整数中找出最大值和最小值,最大的放在a中,最小的放在d中。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。1 #include<stdio.h>2 void NONO();3 void fun(int *a,int *b,int *c,int*d)4 {5 }6 main()7 {int a,b,c,d;8 printf(''请输入4个整数:'');9 scanf(''%d%d%d%d'',19 fp=fopen(''in.dat'',''r'');20 wf=fopen(''out.dat'',''w'');21 for(i=0;i<5;i++)22 {fscanf(fp,''%d%d%d%d'',&a,&b,&c,&d);23 fun(&a,&b,&c,&d);24 fprintf(wf,''a=%d,d=%d\n'',a,d);25 }26 fclose(fp);27 fclose(wf);}
问答题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 5
typedef struct student {
long sno;
char name[10];
float score[3];
} STU;
void fun(char *filename, STU n)
{ FILE *fp;
/**********found**********/
fp = fopen(__1__, "rb+");
/**********found**********/
fseek(__2__, -1L*sizeof(STU), SEEK_END);
/**********found**********/
fwrite(
fclose(fp);
}
main()
{ STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},
{10003,"LiSi", 85, 70, 78}, {10004,"FangFang", 90, 82, 87},
{10005,"ZhangSan", 95, 80, 88}};
STU n={10006,"ZhaoSi", 55, 70, 68}, ss[N];
int i,j; FILE *fp;
fp = fopen("student.dat", "wb");
fwrite(t, sizeof(STU), N, fp);
fclose(fp);
fp = fopen("student.dat", "rb");
fread(ss, sizeof(STU), N, fp);
fclose(fp);
printf("/nThe original data :/n/n");
for (j=0; j
{ printf("/nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);
for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);
printf("/n");
}
fun("student.dat", n);
printf("/nThe data after modifing :/n/n");
fp = fopen("student.dat", "rb");
fread(ss, sizeof(STU), N, fp);
fclose(fp);
for (j=0; j
{ printf("/nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);
for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);
printf("/n");
}
}
问答题函数fun的功能是将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。
例如,当a=45,b=12时,调用该函数后,c=1425。
注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
给定源程序如下。
#include<stdio.h>
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);
}
问答题给定程序MODI1.C中函数 fun 的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 20
int fun ( int * a, int n )
{ int i, m, t, k ;
for(i=0;ia[m]) k=m;
t=a[i];a[i]=a[m];a[m]=t;
}
}
main( )
{ int x, b[N]={11,5,12,0,3,6,9,7,10,8}, n=10, i;
for ( i=0; i
问答题M名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数proc(),它的功能是:找出学生的最高分,由函数值返回。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define M 8
struct slist
{double s;
struct slist * next;
};
typedef struct slist STREC;
double proc(STREC*h)
{
}
STREC*creat(double*s)
{
STREC*h,*p,*q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->s=0;
while(i<M)
/产生8个结点的链表,各分数存入链表中
{ q=(STREC*)maUoc(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;
print{("head");
do
{
printf("->%2.0f",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);
}
问答题给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到C所指数组中,形成一个新的字符串。 例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则c中的字符串应为:aBcdeFgH。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。1 #include<stdio.h>2 #include<string.h>3 void fun(char *p,char*q,char*c)4 {5 /**********found**********/6 int k=1;7 /**********found***********/8 while(*p!=*q)9 { if(*p<*q) c[k]=*q;10 else c[k]=*p;11 if(*p)p++;12 if(*q)q++;13 k++;14 }}15 main()16 { char a[10]=''aBCDeFgH'',b[10]=''ABcd'',c[80]={'\0'};17 fun(a,b,c);18 printf(''The string a: '');puts(a);19 printf(''The string b: '');puts(b);20 printf(''The result:''); puts(c);21 }
问答题
编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。
x
n+1
=cos(x
n
)
迭代步骤如下:
(1)取x1初值为0.0;
(2)x0=x1,把x1的值赋给x0;
(3)x1=cos(x0),求出一个新的x1;
(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出结果Root=0.739086。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<math.h>
#include<stdio.h>
double fun()
{
}
main()
{
void NONO();
printf("Root=%f/n", fun());
NONO();
}
void NONO()
(/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE*wf;
wf=fopen("out.dat", "w");
fprintf(wf, "%f/n", fun());
fclose(wf);
}
问答题给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。
注意:字母不分大、小写。
例如:若输入:THIs is a boot,则输出应该是:1、0、2、2、0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
void fun (char *s,int num[5])
{ int k,i=5;
num [1] =0;
switch (s)
{ case 'a':case 'A':{i=0;break; }
case 'e' :case 'E' : {i=l;break; }
case 'i' :case 'I' : {1=2;break; }
case 'o' :case 'O' : {i=3;break; }
case 'u' :case 'U' : {i=4;break; }
if (i >=0)
}
}
main ()
{ char sl[81]; int numl[5],1;
printf ( "/nPlease enter a string:
fun (s1, num1) ;
for (i=0; i < 5; 1++) printf ("%d
",num1[i] ) ; printf ("/n") ;
}