问答题下列给定程序的功能是:读入一个整数k(2≤k≤10000),输出它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出2,3,5,7,11。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include<eonio.h>#include<stdio.h>/******found******/IsPrime(int n);{ int i,m: m=1; for(i=2;i<n;i++)/******found******/ if!( n%i) } m=0: break; } return(m);}main(){int j,k;prinfff“\nPlease enter an interger nunlberbetween 2 and 10000:”);scanf(“%d”,&k);prinff(“\nThe prime factor(s)of%dis(aJle):”,k);for(j=2;j<k;j++) if((!(k%j))&&(IsPrime(j))) prinff(“%4d,”,j);prinff(“\n”);}
问答题编写函数fun,其功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正整数,且m>n。例如:m=12,n=8时,运行结果为495.000000。注意:部分源程序在文件PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。文件PROG1.C内容如下:#include<stdio.h>doublefun(intm,intn)voidmain()printf("P=%f/n",fun(12,8));
问答题给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在BLANKl.C中。不得增行或删行,也不得更改程序的结构!试颖程序.
问答题给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为642。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include <stdio.h>
/************found************/
void fun(long s,long t)
{ long sl=10;
s/=10;
*t=s%10;
/************found************/
while(s<0)
{ s=s/100;
*t=s%10*sl+*t;
sl=sl*10;
}
}
main()
{ long s,t;
printf("/nPlease enter s:");scanf("%ld",
fun(s,
printf("The result is:%ld/n",t);
}
问答题请编一个函数fun(char *str),该函数的功能是把字符串中的内容逆置。
例如,字符串中原有的字符串为asdfg,则调用该函数后,串中的内容为gfdsa。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<string.h>
#include<conio.h>
#include<stdio.h>
#define N 100
void fun(char *str)
{
}
void main()
{
char a[N];
FILE *out;
printf("Enter a string:");
gets(a);
printf("The original string is:");
puts(a);
fun(a);
printf("The string after modified:");
puts(a);
strcpy(a, "Welcome!");
fun(a);
out=fopen("outfile.dat", "w");
fprintf(out, "%s", a);
fclose(out);
}
问答题编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:“FirstString--”“SecondString”程序输出:“FirstString--SecondString”注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdlib.h>#include<stdio.h>#include<conio.h>void fun(char p1[],char p2[]){}void main(){ char s1[80],s2[40]; system("CLS"); printf("Enter s1 and s2:\n"); scanf("%s%s",s1,s2), printf("s1=%s\n",s1); printf("s2=%s\n",s2); printf("Invoke fun(s1,s2):\n"); fun(s1,s2); printf("After invoking:\n"); printf("%s\n",s1); }
问答题请编写函数fun,其功能是:计算并输出当x<0.97时下列多项式的值,直到|Sn-Sn-1|<0.000001为止。例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include<stdio.h>#include<math.h>doublefun(doublex){}NONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;inti;doubles,x;rf=fopen("in.dat","r")wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%lf",s=fun(x);fprintf(wf,"%lf/n",s);}fclose(rf);fclose(wf);}main(){doublex,s;printf("Inputx:");scanf("%lf",s=fun(x);printf("s=%f/n",s);NONO();}
问答题编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0 的一个实根。
迭代步骤如下:
(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.739085。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
float fun()
{
}
main()
{
printf("Root =%f/n", fun());
NONO();
}
问答题给定程序MODI1.C中函数 fun 的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。
例如,当s所指字符串为:"ABCD" 时,则t所指字符串中的内容应为:"ABCDDCBA"。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
/************found************/
void fun (char s, char t)
{
int i, d;
d = strlen(s);
for (i = 0; i
for (i = 0; i
/************found************/
t[2*d-1] = '/0';
}
main()
{
char s[100], t[100];
printf("/nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("/nThe result is: %s/n", t);
}
问答题下列给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
例如,s所指的字符串为“def35adh3kjsdf7”,执行后结果为“defadhkjsdf3537”。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
void fun(char*s)
{
int i,j=0,k=0;
char tl[80],t2[80];
for(i=0;S[i]!='/0';i++)
if(s[i] >='0&&s[i] < ='9')
{
t2[j]=s[i];
【1】
;
}
else
{
t1[k++]=s[i];
}
t2[j]=0;
t1[k]=0;
for(i=0;i < k;i++)
【2】
;
for(i=0;i <
【3】
;i++)
s[k+i]=t2[i];
}
main()
{
char s[80]="ba3a54j7sd567sdffs",
printf("/nThe original
string is:%s/n",s);
fun(s);
printf("/nThe result is:%sn",s);
}
问答题编写函数fun,其功能是:计算凡门课程的平均分,结果作为函数值返回。 注意:部分源程序给出如下。 请勿改动主函数maln和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include < stdio.h > float fun float * a, int n) void main float score[30]=90. 5, 72, 80, 61.5, 55 , aver; aver=fun (score, 5); printf ("/nAverage score is:% 5.2f /n", aver);
问答题填空题
数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。
例如:当xx[8]={135,78,72,32,222,424,333,141,541}时,bb[6]={787,232,222,424,333,141}。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#define N 1000
int fun(int xx[],int bb[],int num)
{
int i,n=0;
int g,b;
for(i=0;i
问答题函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
#include
#define N 9
void fun(int a[], int n)
{ int i, t, p;
/**********found**********/
p= (n%2==0) ?n/2:n/2+【1】;
for (i=0; i
问答题编写函数void proc(int x,int pp[],int*n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
例如,若x中的值为30,则有4个数符合要求,它们是26 10 30。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
void proc(int x,int pp[],int*n)
{
}
void main()
{
int x,arr[1000],n,i;
system("CLS");
printf("/nPlease enter an integer number:/n");
scanf("%d",
proc(x,arr.
for(i=0;i<n;i++)
printf("%d",arr[i]);
printf("/n");
}
问答题已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。
例如,当n=10时,程序的输出结果应为:23.197745。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
/************found************/
fun(int n)
{double sum, s0, s1, s2, s; int k;
sum = 1.0;
if (n <= 2) sum = 0.0;
s0 = 0.0; s1=0.0; s2 = 1.0;
for (k = 4; k <= n; k++)
{ s = sO + si + s2;
sum += sqrt(s);
sO = si; si = s2; s2 = s;
}
/************found* ***********/
return sum
}
main ()
{ int n;
printf("Input N=");
scanf("%d",
printf("%f/n", fun(n));
}
问答题请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出:
7 11 14 21 22 28 33 35 42 44 49
注意: 部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define M 100
void fun ( int m, int *a , int *n )
{
}
main( )
{ int aa[M], n, k;
fun ( 50, aa,
for ( k = 0; k < n; k++ )
if((k+1) ==0) printf("/n");
else printf( "M", aa[k] );
printf("/n") ;
NONO( );
}
问答题人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#define N 8
typedef struct
{ int num;
int year,month,day;
}STU;
int fun(STU* std,STU*k,int year)
{ int i,n=0;
for(i=0;i < N;i++)
/*********found*********/
if(
【1】
=:year)
/*********found*********/
k[n++]=
【2】
;
/*********found*********/
return(
【3】
);
}
main()
{ STU std[N]={{1,198 4,2,15},{2,1983,9,21},{3,198 4,9,1},{4,1983,7,15},{5,1985,9,28},{6,1982,11,15},{7,1982,6,22},{8,1984,8,19}};
STU k[N];2nt i,n,year;
printf("Enter a year:"),
scanf("%d",&year);
n=fun(std,k,year);
if(n==0)
printf("/nNo person was
born in%d/n",year);
else
{printf("/nThese persons were
born in%d/n",year);
for(i=0;i < n;i++)
printi("%d%d一%d一%d/n",
k[i].nLlm,k[i].year,k[i].month,k[i].day);
}
问答题main( )
scanf(“%d”, a);
if (a = 1)
printf(“One\n”) ; }
问答题请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出:
7 11 14 21 22 28 33 35 42 44 49
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入要编写的若干语句。
#include<stdio.h>
#define M 100
void fun(int m,int*a,int*n)
{
}
main()
{int aa[M],n,k;
void NONO();
fun(50,aa,
for(k=0;k<n;k++)
if((k+1)%20==0)printf("/n");
else printf("%4d",aa[k]);
printf("/n");
NONO();
}
voidNONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*fp,*wf;
int i,n,j,k,aa[M],sum;
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
fscanf(fp,"%d,",
fun(j,aa,
sum=0;
for(k=0;k<n;k++)sum+=aa[k];
fprintf(wf,"%d/n",sum);
}
fclose(fp);
fclose(wf);
}
问答题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#define N 16
typedef struct
{char hum[10];
int s;
}STREC;
void fun(STREC a[])
{
}
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", 66}, {"GA017", 64},
{"GA018", 64}, {"GA016", 72}};
int i; FILE *out;
fun(s);
printf("The data after sorted:/n");
for(i=0; i<N; i++)
{ if((i)%4==0)printf("/n");
printf("%s %4d ", s[i].num, s[i].s);
}
printf("/n");
out=fopen("out.dat", "w");
for(i=0; i<N; i++)
{if((i)%4==0
fprintf(out, "%4d", s[i].s);
}
fprintf(out, "/n");
fclose(out);
}
