程序填空题(4)

2019-05-24 13:54

p->next=s; p=p->next; } p->next=NULL; return h;}

outlink(NODE *h, FILE *pf) { NODE *p; p = h->next;

fprintf(pf ,\ while(p)

{ fprintf(pf ,\ fprintf (pf,\}

outresult(int s, FILE *pf)

{fprintf(pf,\main()

{ NODE *head; int even; head=creatlink(12); head->data=9000;

outlink(head , stdout); even=fun(head);

printf(\ outresult(even, stdout);}

第一空:NODE 第二空:p->data 第三空:p=p->next

___2___; } for (i=0;i

strcat(f,s); strcpy(ch,f); }

printf(\

第一空:(ch[i]==’o’) 第二空:i++ 第三空:break

66. 给定程序的功能是:从键盘输入一个字符串(长度

不超80个字符),依次扫描字符串的小写字母o,每次将小写字母o左侧所有小写字母转换为大写字母,大写字母转换为小写字母。并把小写字母o删除,依次直至小写字母o处理完,之后把已处理的字符串输出到屏幕。例如:输入字符串为”aA1BoCao”,处理后输出为”aA1BcA”。输入字符串”aAobC”,输出为”AabC”。 #include #include void main()

{int i=0,j=0,nulin,sj=0,m; char ch[80];

printf(\ scanf(\

while (ch[i]!='\\0') { if (ch[i]=='o') sj++; i++; }

for (i=0;i

/***************found***************/ ___1___;

for (m=0;m

{if (ch[m]>='a' && ch[m]<='z') ch[m]=ch[m]-32;

/***************found***************/ ___2___

if (ch[m]>='A' && ch[m]<='Z') ch[m]=ch[m]+32; } if (m>=j)

ch[m]=ch[m+1]; }

/***************found***************/ ___3___;}

printf(\

第一空:nulin=strlen(ch); 第二空:else 第三空:ch[nulin-1]=’\\0’;

64. 给定程序的功能是把一个字符串的字符复制到另

外一个字符串中。

void cpystr(char *ps,char *pd) { while(*ps!='\\0') { *pd=*ps; pd++;

/******found******/ ___1___; } /******found******/ *pd=___2___;} main(){

char *pa=\ pb=b;

/******found******/ ___3___

printf(\ return 0;}

第一空:ps++ 第二空:’\\0’或0 第三空:strcpy(pa,pb);

65. 给定程序的功能是:从键盘输入一个字符串(长度

不超过80个字符),依次扫描字符串中的小写字母o,每次将小写字母o的左右字符串部分作交叉换位,即左边字符串移到小写字母o的右边,而原先右边的则返之。并把小写字母o删除,依次直至小写字母o处理完,之后已处理的字符串出到屏幕。例如:输入字符串为:”123oabco98”,处理后输出为”98123abc”。 void main()

{int i=0,j=0,sj=0,bs; char ch[80]; char *s,*f;

printf(\ scanf(\

while (ch[i]!='\\0') { /******found******/ if ___1___ {sj++;}

/******found******/

16

67. 给定函数

countValue(int n),它的功能是:求n

以内(不包括n)同时被3与7整除的所有自然数之和的平方根s,s作为函数返回值。主程序调用该函数输出n为1000时的函数值153.909064。 /******found******/

___1___ countValue(int n)

{ double xy=0.0; int i;

/******found******/ for(i=8;__2___;i++)

if(i%3==0&&i%7==0) xy+=i; xy=sqrt((double)xy); /******found******/ ___3___;} main()

{ printf(\第一空:double 第二空:i

68. 给定函数

countValue(int n),它的功能是:求n

以内(不包括包括n)同时能被7与11整除的所有自然数的平方根之和s,s作为函数返回值。主程序调用该函数输出n为1000时的函数值。 double countValue(int n) /******found******/ { ___1___xy=0.0; int i;

for(i=1;i

if(i==0&&i%7==0) /******found******/ ___2___; return xy;} main(){

/******found******/

printf(\

第一空:double 第二空:xy=xy+sqrt((double)i) 第三空:countValue(1000)

┌1 (n=0,1) n!= ┤

└n×(n-1)!(n>1) #include long ref(int n) { long m;

if (n<0) printf(\/************found************/ else if (___1___) m=1;

/************found************/ else ___2___; return(m);}

main(){ int n; long y;

printf(\/************found************/ scanf(\ y=ref(n);

printf(\ return;} 第一空:(n==0||n==1)第二空:m=ref(n-1)*n 第三空:&n

71.给定程序的功能是求出数组中的最大数max及最大

数的个数cnt数组xx中值能被3整除或能被7整除的算术平均值pj(保留职位小数),结果max,cnt,pj输出到屏幕。

#define N 20 void main() { int max;

int cnt,xx[N]={78,43,56,34,43,32,85, 43,46,10,90,34,90,3,52,61,42,89,90,54}; float pj;

long j=0; int I,k;

/*************found************/ ___1___

/*************found************/ for(___2___;I

/*************found************/ {if (xx[I]>max) ___3___;

if (xx[I]%3==0||xx[I]%7==0) {j+=xx[I];k++;} } for (I=0,cnt=0;I

printf(\max,cnt,pj);}

第一空:max=xx[0];第二空: for(i=0,k=0;i

69. 给定程序的功能分别求

7个学生三门课程的平均

成绩,在主程序中输出各学生平均成绩和最大平均成绩av。

float fun(float a,float b,float c) { float sum,aver; sum=a+b+c;

/**********found************/ ___1___; return(aver);}

main(){ float a[7][3]={{80,90.5,81.5}, {70,69.8,90.5}, {68,97,99.0}, {86.5,89,95}, {78,96,90}, {87.5,89,92}, {64.5,80,78}}; float av=0.0,b[7];int i; for (i=0;i<7;i++)

/**********found************/ {b[i]=___2___;

/**********found************/ if ___3___ av=b[i];} for (i=0;i<7;i++)

printf(\ printf(\

第一空:aver=sum/3.0 第二空:b[i]=fun(a[i][0],a[i][1],a[i][2]); 第三空:if(av

70.给定程序的功能是用递归法计算n!。用递归方法计算n!,可使用如下公式表示

17

72. 给定程序的功能是找出所有100以内(含100)满

足I,I+4,I+10都是素数的整数I(I+10也以100以内)的个数cnt以及这些I之和sum。 int cnt,sum;

int isPrime(int number) { int i,tag=1;

if(number==1) return 0;

for(i=2;tag&&i<=number/2;i++)

/***************found***************/ if(___1___) tag=0; return tag;} void countValue()

{ int I,count=0,xx[30];

int j,k,m; cnt=0; sum=0;

/***************found***************/ for(I=1;___2___;I++)

if(isPrime(I)) {xx[count]=I;count++;} for(I=0;I

if (isPrime(xx[I]+4)&&isPrime(xx[I]+10)) /***************found***************/ {___3___;}}

void main(){ cnt=sum=0;

countValue();printf(\printf(\

第一空:number%i==0 第二空:I<90 第三空:cnt++;sum+=xx[I]

75. 给定程序的功能是计算学生和平均成绩和不及格

的人数。

struct stu_list { int num;

char name[20]; char sex; float score;

}s[5]={{9801,\

{9802,\ {9803,\ {9804,\ {9805,\main()

{ int i,c=0;

float ave,sum=0; for (i=0;i<5;i++) {

/***************found***************/ sum+=___1___;

/***************found***************/ if (___2___) c+=1;} printf(\

/***************found***************/ ___3___;

printf(\ return; }

第一空:sum+=s[i].score 第二空:if(s[i].score<60) c+=1 第三空:ave=sum/5;

73.给定程序的功能是对从键盘输入的字符数组

xx(不

超过80个字符),按字符从大到小的顺序进行排序,排序后的结果存入字符串数组xx中。例如:输入:dAe,BfC.结果:fedCBA.

#include void main()

{ char xx[80] ; int numi,numj; char ch;

printf(\ scanf(\

for (numi=0;numi

/***************found***************/ for (numj=___1___;numj

/***************found***************/

___2___;

xx[numi]=xx[numj];

/***************found***************/

___3___;}

printf(\

第一空:numi+1 第二空:ch=xx[numi] 第三空:xx[numj]=ch

76. 给定程序的功能是在三位整数(100至999)中寻

找符合下面条件的整数,并依次从小到大存入数组b[]中;它既是完全平方数,又有两位数相同,例如144,676等。函数int jsValue(int n)判断参数是否满足该条件,如果满足该条件函数返回值为1,否则返回值为0。 #include int jsValue(int n) { int j,k=0;

int n1,n2,n3; j=10; while(j*j<=n)

74. 给定程序的功能是:对字符数组xx中字符按给定 { if (n==j*j) 的替代关系对所有字符进行替代,仍存入数组xx的对应 { n1=n / 100;

的位置上。替代关系:f(p)=p*11 mod 256(p是数组xx/***************found***************/ 中某一个字符的ASCII值,f(p)是计算后新字符的ASCII n2=___1___; 值),如果原字符是大写字母或计算后f(p)值小于等于 n3=n % 10; 32, 则该字符不变,否则将f(p)所对应的字符进行替代。 if(n1==n2||n1==n3||n2==n3) void main() k=1; } { char xx[80]; /***************found***************/ int i,j; ___2___; } printf(\ return k;} scanf(\main() /***************found***************/ { int b[20],num,i; for (i=0;___1___;i++) for (i=100,num=0;i<=999;i++) if((('A'<=xx[i])&&(xx[i]<='Z'))|| if (jsValue(i)==1) (((xx[i]*11) % 256 )<=32)) { b[num]=i; /***************found***************/ /***************found***************/ ___2___ ___3___; } else for (i=0;i

元素,然后输出对角线元素之和。

18

int fun()

{ int a[3][3],sum; int i,j;

/***************found**************/ sum=___1___;

for (i=0;i<3;i++) {for (j=0;j<3;j++)

/***************found**************/

scanf(\ for (i=0;i<3;i++)

/***************found**************/ ___3___

printf(\main(){ fun();}

第一空:sum=0 第二空:& 第三空:sum=sum+a[i][i];

78. 给定程序的功能是求下列分数序列的前n项之和。

n值从键盘输入,和值通过函数值返回主程序输入。

{ int i,j,k; USER temp;

for(i=0;i

for(j=i+1;j

if (strcmp(sp[k].name,sp[j].name)>0) k=j; temp=sp[k];sp[k]=sp[i];sp[i]=temp; }} outdata(USER *sp) { int i;

printf(\ for (i=0;i

printf(\main(){ USER sp[N],temp; getdata(sp); getsort(sp); outdata(sp);}

第一空:USER *sp 第二空:gets 第三空:gets

码,按姓名的字典顺序排列后,输出用户的姓名和电话号码。函数getdata读入五位用户的姓名和电话号码。

8.391667。 getsort函数把数据按姓名的字典顺序排序。outdata输double fun(int n) 出最后的结果。 { int a,b,c,k; double s; #define N 5 s=0.0; a=2; typedef struct /***************found***************/ { char name[20]; ___1___; char num[10]; for (k=1;k<=n;k++) }USER; { s=s+(double)a/b; getdata(USER *sp) c=a; a=a+b;b=c; } { int i; /***************found***************/ printf(\ ___2___;} for(i=0;i

printf(\function is: %lf\\n\/***************found***************/ fun(n));} ___1___; 第一空:b=1第二空:return s 第三空:&n for(i=0;i

for(j=i+1;j

码,按姓名的字典顺序排列后,输出用户的姓名和电话

if (strcmp(sp[k].name,sp[j].name)>0) k=j;

号码。函数getdata读入五位用户的姓名和电话号码。

temp=sp[k];

getsort函数把数据按姓名的字典顺序排序。outdata输

/***************found***************/

出最后的结果。

___2___;

#define N 5

/***************found***************/

typedef struct

___3___; }}

{ char name[20];

outdata(USER *sp)

char num[10];

{ int i; printf(\

}USER;

for (i=0;i

/***************found***************/

printf(\

getdata(___1___)

main(){ USER sp[N],temp;

{ int i;

getdata(sp);

printf(\

getsort(sp);

for(i=0;i

outdata(sp);}

{printf(\

第一空:USER temp 第二空:sp[k]=sp[i]; 第三空:

/***************found***************/

sp[i]=temp;

printf(\/***************found***************/ 81.给定程序的功能是找出方阵中每列最小元素以及所 printf(\在的行号。函数findmin找出每列中最小元素所在行号,getsort (USER *sp) 函数outdata输出方阵中每列最小元素及其所在行号。

19

23581321,,,,,,??例如:若n=5,则应该输出:123581880. 给定程序的功能是读入五位用户的姓名和电话号

#define M 4 main()

{ int s[M][M]={{14,23,52,3},

{34,22,52,41},{12,15,8,9},{54,98,23,21}}; int im[M]; findmin(s,im);

outdata(s,im);}

findmin(int a[][M],int ln[]) { int i,j,t;

for (i=0;i

/***************found***************/ for(j=1;___1___;j++)

if(a[j][i]

/***************found***************/ ___2___; }}

outdata(int(*a)[M],int *ln) { int i,j;

printf(\ for(i=0;i

{ for (j=0;j

printf(\ printf(\

printf(\ for (i=0;i

/***************found***************/ printf(\ printf(\

第一空:j

printf(\ for (i=0;i

/***************found***************/ {printf(\ sum=sum+ a[i][ln[i]]; } printf(\

第一空:t=j;第二空:sum=0; 第三空:ln[i]

main函数读入数组a的各元素

值,inver函数逆序后重新放置数组a元素的值。 #define N 10

void invert(int *s,int i,int j) { int t; if (i

/***************found***************/ *(s+i)=___1___; *(s+j)=t;

/***************found***************/ invert(s,___2___,j-1); }} main()

{ int a[N],i;

for (i=0;i

{ printf(\

/***************found***************/ scanf(\ invert(a,0,N-1); for (i=0;i

printf(\ printf(\

82. 定程序的功能是找出方阵中每行最大元素以及所} 在的列号。函数finemax找出每行中最大元素所在列号,第一空:s[j] 第二空:i+1 第三空:a+i 函数outdata输出方阵中每最行大元素及其所在行号和

84. 定程序的功能是:将无符号八进制数字构成的字符每行中最大元素的和sum。

串转换为十进制整数。例如,输入的字符串为:556,则#define M 4

输入十进制整数366。 main()

main() { int s[M][M]={{14,23,52,3},

/***************found***************/ {34,22,52,41},

{ char ___1___,s[6]; {12,15,8,9},

int n; p=s; gets(p); {54,98,23,21}};

/***************found***************/ int im[M],sum;

n=___2___; findmax(s,im);

/***************found***************/ outdata(s,im);}

while(___3__!='\\0') findmax(int a[][M],int ln[])

n=n*8+*p-'0'; printf(\ { int i,j,t;

第一空:*p 第二空:*p-‘0’ 第三空:*(++p) for (i=0;i

{ t=0; 85. 定函数int MySearch(char *str,char *s)的功能 for(j=1;ja[i][t]) 若输入字符串”12 123 12345”和”23”,则应输出2(表/***************found***************/ 示字符串”23”在字符串”12 123 12345”中出现了两 ___1___; 次)。若输入字符串”33333”和”33”,则应输出4(表 ln[i]=t; }} 示字符串”33”在字符串”33333”出现了四次)。 outdata(int(*a)[M],int *ln) int MySearch( char* str, char* s ) { int i,j,sum; { char* p; printf(\ int n =0; /***************found***************/ for( ; *str; ) ___2___; /***************found***************/ for(i=0;i

20

83. 定程序和功能是


程序填空题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:八年级上册思品复习主要知识点(精品)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: