问答题请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符,平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。
例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
#define N 80
void fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置 */
{
int i; char t;
t=w[0];
for(i=0;i
问答题请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):程序运行后,如果输入精度0.0005,则程序输出为3.14…。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。给定源程序:#include<stdio.h>#include<math.h>doublefun(doubleeps){}main(){doublex;printf("Inputeps:");scanf("%lf",printf("/neps=%lf,PI=%lf/n",x,fun(x));}
问答题请编写函数fun(),其功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全部删除,串中剩余字符所形成的一个新中放在t所指的数组中。 例如,若s所指字符串中的内容为ABCDEFG123456,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的 ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是246。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<string.h> void fun(char*s,char t[]) main() char s[100],t[100]; clrscr(); printf("/nPlease enter string S:"); scanf("%s",s); fun(s,t); printf("/nThe result is:%s/n",t);
问答题N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序 #include <stdlib.h> #include <stdio.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) q=(STREC *)malloc (sizeof (STREC)); q->s=s[i]; i++; p->next=q; p=q; p->next=0; return h; outlist (STREC * h) STREC * p; p=h->next; printf ("head "); do printf("->% 4.1f ", p->s); p=p->next; /*输出成绩* / while (p !=NULL); printf ("/n/n"); void main () double s[N]=85, 76, 69, 85, 91, 72, 64, 87 , ave; STREC * h; h=creat (s); outlist (h); ave=fun (h); printf("ave=% 6.3f/n", ave);
问答题编写程序,实现矩阵(3行、3列)的转置(即行列互换)。例如,若输入下面的矩阵:则程序输出:注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<Conio.h>#include<stdlib.h>voidfun(intarray[3][3]){}voidmain(){FILE*wf;inti,j;intarray[3][3]={{100,200,300},{400,500,600},{700,800,900}};system("CLS");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("/n");}fun(array);printf("Convertedarray:/n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("/n");}/*********found*********/wf=fopen("out.dat","w");for(i=0;i<3;i++){for(j=0;j<3;j++)fprintf(wf,"%7d",array[i][j]);fprintf(wf,"/n");}fclose(wf);/*********found*********/}
问答题下列给定程序中,函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MOD11.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#include<stdio.h>#defineM10inta[M][M]={0};/*********found*********/voidfun(int**a,intm){intj,k;for(j=0;j<m;j++)for(k=0;k<m;k++)/*********found*********/a[j][k]=k*j;}main(){inti,j,n;printf("Entern:");scanf("%d",&n);fun(a,n);for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("/n");}}
问答题请编写一个函数void fun(int m,intk,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。 例如,若输入17,5,则应输出19、23、29、31、37。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#incJude < conio.h >#2nclude < stdio.h >#include < stdlib.h >void fun(int m,int k,int xx[]){}void main(){ FTLE * wf; int m,n,zz[1 0 0 0]; system("CLS"); printf"/nPlease enter two integers:"); scanf("%d%d",&m,&n); fun(m,n,z z); for(m=0;m < n;m++) printf("%d",zz[m]);printf("/n");/*********found*********/ wf=fopen("out.dat","w"); fun(1 7,5,zz); for(m=0;m < 5;m++) fprintf(wf,"%d",zz[m]); fclose(wf);/*********found*********/}
问答题编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。 例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。 注意:部分源程序给出如下。 请勿改动主函数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 aninteger number between 10and 100;"); scanf("%d",&n); fun(n,&m,zz); printf("/n/nThere are%dnon—prime numbers less than%d:",m,n); for(n=0;n < m;n++) printf("/n%4 d",zz[n]);}
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:“* * * *A*BC*DEF*G* * * * * * *",删除后,字符串中的内容应当是:“* * * *ABCDEFG”。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
void fun(char*a)
}
}
main( )
{char 8[81];void NONO();
printf("Enter a string:/n");gets(s);
fun(s);
printf("The string after deleted:/n");puts(s);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE * in, *out;
int i;char s[81];
in=fopen("in.dat","r");
out=fopen("out.dat","w");
for(i=0;i<10;i++)
{
fscanf(in,"%s",s);
fun(s);
fpfintf(out,"%s/n",s);
}
fclose(in);
fclose(out);
}
问答题给定程序中,函数fun的功能是:在形参SS所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<string.h>3 #define N 54 #define M 105 int fun(char(*ss)[M],int k)6 {int i,j=0,len;7 /**********found**********/8 for(i=0 ; i<_1_;i++)9 { len=strlen(ss[i]);10 /**********found**********/11 if(len<= __2__)12 /**********found***********/13 strcpy(ss[j++],__3___);}14 return j;}15 main()16 {char x[N][M]={''Beijing'',''Shanghai'',''Tianj ing'',''Nanj ing'',''Wuhan''};17 int i,f;18 printf(''\nThe original string\n\n'');19 for(i=0;i<N;i++)puts(x[i]);20 printf(''\n'');21 f=fun(x,7);22 printf(''The string witch length is less than or equal to 7:\n'');23 for(i=0;i<f;i++) puts(x[i]);24 printf(''\n'');}
问答题请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于2)。例如字符串:uvwxyz满足要求;而字符串:uvxwyz不满足要求。注意:部分源程序存放在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。试题程序:#include<stdio.h>#include<string.h>void NONO();int fun(char*t){}main(){ char s[26]; printf("请输入一个字母组成的字符串:");gets(s); if(fun(s))printf("%s是由连续字母组成的字符串.\n",S); else printf("%s不是由连续字母组成的字符串!\n",S); NONO(); } void NONO(){/*本函数用于打开文件,输人数据,调用函数,输出数据,关闭文件。*/ FILE*fp,*wf; int i; char s[26],*P; fp=fopen("C:\\test\\in.dat","r"); wf=fopen ("c:\\test\\out.dat","w"); for(i=0;i<10;i++){ fgets(s,26,fp); p=strchr(s,'\n'); if(p)*p=0; if(fun(s))fprintf(wf,"%s\n",s+2); else fprintf(wf,"%s\n",strrev(s)); } fclose(fp); fclose(wf);}
问答题编写函数fun,其功能是:将两个两位数的正整数a、b合并成—个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。 例如,当a:45,b=12时,调用该函数后,c=5142。 注意:部分源程序给出如下。数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。 试题程序:#include < stdlib.h >#include < stdio.h >#include < conio.h >void fun(int a,int b,long*c){}void main(){ int a,b; long c; system("CLS"); printf("Input a,b:"); scar1f("%d%d",&a,&b); fun(a,b,&c); printf ("The result is:%ld/n",c);}
问答题请编写函数proc(),该函数的功能是:实现B=A+A",即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main()函数中输出。
例如,输入下面矩阵:
1 1 1
4 4 4
7 7 7
其转置矩阵为:
1 4 7
1 4 7
1 4 7
则程序输出:
2 5 8
5 8 11
8 11 14
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void proc(int a[3][3], int b[3][3])
{
}
void main()
{int arr[3][3]={{1, 1, 1}, {4, 4, 4}, {7, 7, 7}}, t[3][3];
int i, j;
system("CLS");
proc(art, t);
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
printf("%7d", t[i][j]);
printf("/n");
}
}
问答题给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
void fun(char *s, int a, double f)
{
/**********found**********/
__1__ fp;
char ch;
fp = fopen("file1.txt", "w");
fprintf(fp, "%s %d %f/n", s, a, f);
fclose(fp);
fp = fopen("file1.txt", "r");
printf("/nThe result :/n/n");
ch = fgetc(fp);
/**********found**********/
while (!feof(__2__)) {
/**********found**********/
putchar(__3__); ch = fgetc(fp); }
putchar('/n');
fclose(fp);
}
main()
{ char a[10]="Hello!"; int b=12345;
double c= 98.76;
fun(a,b,c);
}
问答题请编写一个函数fun(),其功能是比较两个字符串的长度(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。 #include<stdio.h> char*fun(char*s,char*t) main() char a[20],b[20]; void NONO(); printf("Input 1th string:"); gets(a); printf("Input 2th string:"); gets(b); printf("%s/n",fun(a,b));
问答题编写函数fun(),它的功能是:计算和输出下列级数的和。
S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))
例如,当n=10时,函数值为0.909091。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序;
#include<conio.h>
#include<stdio.h>
double fun(int n)
{
}
main ( )
{
clrscr();
printf("%f/n",fun(10));
}
问答题下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:将数组左下半三角元素中的值全部置成0。例如a数组中的值为:1 9 72 3 84 5 6则返回主程序后a数组中的值应为:0 9 70 0 80 0 0 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>#define N 5 void fun(int a[][N]){}void main(){ int a[N][N],i,j; system("CLS"); 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;j<N;j++) printf("%4d",a[i][j]); printf("\n"); }}
问答题给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
例如,若输入“I am a student to take the examination.”,则应输出“I aM A studenT tO take thE examination.”。
请修改程序中的错误之处,使它能得出正确的结果。
注意:不要改动main函数,不得删行,也不得更改程序的结构!
#include
#include
#include
void fun(char *p)
{
int k = 0;
for(; *p; p++)
if (k)
{
/********** found***********/
if(p == ' ')
{
k = 0;
/********** found***********/
* (p) = toupper(*(p - 1))
}
}
else
k = 1;
}
main ()
{ char chrstr[64];
int d ;
printf("/nPlease enter an English
sentence within 63 letters: ");
gets(chrstr);
d=strlen(chrstr);
chrstr[d] = ' ' ;
chrstr[d+1] = 0 ;
printf("/n/nBefore
changing:/n %s", chrstr);
fun (chrstr) ;
printf("/nAfter
changing:/n %s", chrstr);
}
问答题给定程序MODI1.C中函数fun的功能是: 在字符串的最前端加入n个*号, 形成新串, 并且覆盖原串。
注意: 字符串的长度最长允许为79。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
#include
void fun ( char s[], int n )
{
char a[80] , *p;
int i;
s=p;
for(i=0; i
问答题程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N],intn),该函数的功能是:使数组左下半三角元素中的值乘以n。例如,若n的值为3,a数组中的值为:则返回主程序后a数组中的值应为:注意:部分源程序给出如下。请勿改动函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#inclucle<stdio.h>#inclucle<conio.h>#inclucie<stdlib.h>#defineN5voidfun(inta[][N],intn){}main(){inta[N][N],n,i,j;printf("*****Thearray*****/n");for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=rand()%10;printf("%4d",a[i][j]);}printf("/n");}n=rand()%4;printf("n=%4d/n",n);fun(a,n);printf("*****TGERESULT*****/n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%4d",a[i][j]);printf("/n");}}
