C语言程序填空(4)

2019-07-29 11:11

printf(\} }

答案:1). Define;2). &b;3). S(a,b,c) 4). AREA(s,a,b,c)

功能:以下程序是用选择法对10个整数按升序排序。

/***********SPACE***********/ 【?】 main() {

int i,j,k,t,a[N]; for(i=0;i<=N-1;i++) scanf(\for(i=0;i

/***********SPACE***********/ 【?】;

/***********SPACE***********/ for(j=i+1; 【?】;j++) if(a[j]

/***********SPACE***********/

if(【?】) {

t=a[i]; a[i]=a[k]; a[k]=t; } }

printf(\for(i=0;i<=N-1;i++) printf(\printf(\}

答案:1). #define N 10;2). k=i

3). jj 或 j<=N-1 或 N-1>=j 4). k != i 功能:利用全局变量计算长方体的体积及三个面的面积。 int s1,s2,s3;

int vs(int a,int b,int c) { int v;

/***********SPACE***********/

v=【?】; s1=a*b;

/***********SPACE***********/ s2=【?】; s3=a*c; return v; }

main() {

int v,l,w,h; clrscr();

printf(\: \/***********SPACE***********/ scanf(\【?】,&w,&h); /***********SPACE***********/ v=【?】;

printf(\s3=%d\\n\getch(); }

答案:1). a*b*c 或 a * b * c 2). b*c 或 b * c;3). &l 4). vs(l,w,h) 或 vs( l , w , h )

功能:输入字符串,再输入一个字符,将字符串中与输入字符相同的字符删除。 #include \

void fun(char a[],char c) { int i,j;

/***********SPACE***********/ for(i=j=0; 【?】;i++) if(a[i]!=c) a[j++]=a[i];

/***********SPACE***********/ 【?】; }

main() {

char a[20],cc; gets(a);

/***********SPACE***********/ 【?】;

/***********SPACE***********/ 【?】; puts(a);

}

答案:1). a[i] != '\\0' 或 a[i] 或 a[i]!=NULL 2). a[j]='\\0' 或 a[j]=NULL 或 a[j]=0 3). cc=getchar() 或 scanf(\4). fun(a,cc)

功能:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,设原有的数据和计算出的平均分数存放在磁盘文件\中。 #include \struct student {

char num[6]; char name[8]; int score[3]; float avr; } stu[5]; main() {

int i,j,sum; FILE *fp; /*input*/

for(i=0;i<5;i++) {

printf(\printf(\

scanf(\printf(\

scanf(\sum=0;

/***********SPACE***********/ for(j=0;【?】;j++) {

printf(\scanf(\

/***********SPACE***********/ sum+=stu[i].【?】; }

stu[i].avr=sum/3.0; }

fp=fopen(\

/***********SPACE***********/ for(i=0;i<5;【?】)

/***********SPACE***********/ if(fwrite(&stu[i],sizeof(【?】),1,fp)!=1) printf(\fclose(fp); }

答案:1). j<3 或 3>j;2). score[j] 3). i++ 或 ++i 或 i=i+1 4). struct student

功能:给出一个正整数,找到一组连续的数,使之累加和等于给定的正整数。输出存在多少组这样连续的数,及每组的左右边界。例如:15=1+2+3+4+5;15=4+5+6;15=7+8

所以结果有3组值分别是1->5, 4->6, 7->8 #include #include void main(void) {

long left, right; long sum; long GIVEN; int count = 0; char line[100];

printf(\number\

printf(\==========\\n\

printf(\gets(line);

GIVEN = atol(line);

for (sum = 0, right = 1; sum < GIVEN; sum += right, right++) ;

for (left = 1, right--; left <= GIVEN/2; ) if (sum > GIVEN) {

sum -= left;

/***********SPACE***********/ 【?】; } else {

if (sum == GIVEN) {

printf(\

GIVEN, left, right);

/***********SPACE***********/ 【?】; }

/***********SPACE***********/

【?】;

sum += right; }

if (count > 0)

printf(\count); else

printf(\}

答案:

1). left++ 或 left=left+1 或 ++left

2). count++ 或 count=count++ 或 ++count 或 count=count+1

3). right++ 或 right=right++ 或 ++right 或 right=right+1

功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)相差的天数。 main() {

int y1,m1,d1,y2,m2,d2,n,i; printf(\

scanf(\/***********SPACE***********/

if(m1<1||m1>12||d1<1||d1>【?】) exit(0); printf(\m2,&d2);

/***********SPACE***********/

if(m2<1||m2>12||d2<1||d2>【?】) exit(0); if(y1>y2||y1==y2&&m1>m2||y1==y2&&m1==m2&&d1>d2) { n=y1; y1=y2; y2=n; n=m1; m1=m2; m2=n; n=d1; d1=d2;

d2=n; } else {

/***********SPACE***********/

n=yend(y1,m1,d1)+【?】;

/***********SPACE***********/ for(i=【?】;i

printf(\m1,d1,y2,m2,d2,n); }

int f(int y) {

return(y%4==0&&y0!=0||y@0==0); }

int mday(int y,int m) {

return(31-((m==4)+(m==6)+(m==9)+(m==11))-(3-f(y))*(m==2)); }

int yday(int y,int m,int d) {

return(d+31*((m>1)+(m>3)+(m>5)+(m>7)+(m>8)+(m>10))+30*((m>4)+(m>6)+(m>9)+(m>11))+(28+f(y))*(m>2)); }

int yend(int y,int m,int d) {

return(365+f(y)-yday(y,m,d)); }

答案:1). mday(y1,m1);2). mday(y2,m2) 3). yday(y2,m2,d2);4). y1+1 或 1+y1 功能:打印出如下图案(菱形) * *** ***** ******* ***** *** *

#include main() {

int i,j,k;

/***********SPACE***********/ for(i=0;【?】;i++) {

for(j=0;j<=4-i;j++) printf(\

/***********SPACE***********/ for(k=1;k<=【?】;k++) printf(\printf(\}

/***********SPACE***********/ for(【?】;j<3;j++) {

for(k=0;k

for(k=0;k<5-2*j;k++) printf(\printf(\} }

答案:1). i<=3 或 i<4 或 3>=i 或 4>i 2). 2*i+1 或 i*2+1 或 1+2*i 或 1+i*2 3). j=0

功能:输入三个整数x,y,z,请把这三个数由小到大输出。 main() {

int x,y,z,t;

scanf(\

/***********SPACE***********/ if (x>y){【?】}

/***********SPACE***********/ if(x>z){【?】}

/***********SPACE***********/

if(y>z){【?】}

printf(\}

答案:1). t=x;x=y;y=t;;2). t=z;z=x;x=t; 3). t=y;y=z;z=t;

功能:h_sequence 是一组由0和1组成的数列,它定义如下: = 0 = 1 利用函数检测输入的字符串是否是h_sequence数列

#include #define YES 1 #define NO 0

int h_sequence(char x[]) {

/***********SPACE***********/ int length = 【?】; int count; int i;

for (count = 1, i = 0; count != 0 && i < length; i++)

switch (x[i]) {

case '0':count--; break;

case '1':count++; break;

default:return NO; }

/***********SPACE***********/ return 【?】&& i >= length; }

#include void main(void) {

char line[100];

printf(\gets(line);

/***********SPACE***********/

if (【?】 == YES)

printf(\else

printf(\}

答案:1). strlen(x);2). count == 0 3). h_sequence(line) 功能:输出9*9口诀。 main() {

int i,j,result; printf(\

/***********SPACE***********/ for (i=1;【?】;i++)

{

/***********SPACE***********/ for(j=1;j<10;【?】) {

result=i*j;

/***********SPACE***********/ printf(\【?】); }

printf(\} }

答案:1). i<10 或 10>i

2). j++ 或 ++j 或 j=j+1;3). result 功能:输入学生成绩并显示。 # include struct student {

char number[6]; char name[6]; int score[3]; } stu[2];

void output(struct student stu[2]); void main() {

int i, j;

/***********SPACE***********/ for(i=0; i<2; 【?】) {

printf(\请输入学生%d的成绩:\\n\printf(\学号:\

/***********SPACE***********/ scanf(\【?】.number); printf(\姓名:\

scanf(\for(j=0; j<3; j++) {

printf(\成绩 %d. \

/***********SPACE***********/ scanf(\【?】.score[j]); }

printf(\}

output(stu); }

void output(struct student stu[2]) {

int i, j;

printf(\学号 姓名 成绩1 成绩2 成绩3\\n\for(i=0; i<2; i++) {

/***********SPACE***********/ 【?】(\for(j=0; j<3; j++)

printf(\printf(\} }

答案:1). i++ 或 ++i 或 i=i+1 2). &stu[i];3). &stu[i];4). printf

功能:求出二维数组中的最大元素值。 #include \void main() {

int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; /***********SPACE***********/ printf(\【?】); }

max_value(m,n,array)

/***********SPACE***********/ int m,n,【?】; {

int i,j,max;

max=array[0][0]; for(i=0;i

/***********SPACE***********/ if(max

答案:1). max_value(3,4,a) 2). array[][4] 或 array[3][4] 3). max=array[i][j]

功能:数组名作为函数参数,求平均成绩。 float aver(float a[ ]) /*定义求平均值函数,形参为一浮点型数组名*/ { int i;

float av,s=a[0];


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

下一篇:中国铁路总公司节能减排项目推广管理办法(铁总计统[2015]364号

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

马上注册会员

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