填空题以下程序的功能是输出如下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 请填空。 main() int i,j,x; for(j=4; j{{U}} {{/U}}; j--) for(i=1; i<=4; i++) x=(j-1)*4 +{{U}} {{/U}}; printf("M",x); printf("//n");
填空题下列给定程序中,函数proc()的功能是:按顺序给str所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若str所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,str所指数组有17个元素,则只对前15个元素进行处理,不对最后的2个元素求平均值。
程序执行结果为The original data:
2 4 6 8 10
12 14 16 18 20
22 24 26 28 30
32 24
The result:
6.00 16.00 26.00
请修改函数proc()中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#define SIZE 20
proc(double*str,double*w)
{
int k,i;double sum;
for(k=2,i=0;i<SIZE;i++)
{str[i]=k;k+=2;}
sum=0.0;
for(k=0,i=0;i<SIZE:i++)
{
sum+=str[i];
//****found****
if(i+1%5==0)
{w[k]=sum/5;sum=0;k++;}
}
return k;
}
void main()
{
double a[SIZE],b[SIZE/5];
int i,k;
k=proc(a,b);
printf("The original data:/n");
for(i=0;i<SIZE;i++)
{
if(i%5==0)printf("/n");
printf("%4.0f",a[i]);
}
printf("/n/nThe result:n");
for(i=0;i<k;i++)printf("%6.2f",b[i]);
printf("/n/n");
}
填空题若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为“读”而打开此文件:fp=fopen
{{U}} 【20】 {{/U}};。
填空题fun1函数的功能是将3个整数按由大到小的顺序调整后依次放入a、b、c3个变量中,a中放最大数,fun2函数的功能是交换两个变量中的值。补足所缺语句。 fun2(int*x,int*y) int t; t=*x;*x=*y;*y=t; fun1(int*p1,int*p2,int*p3) if(*p3>*p2) fun2(*P2,*p3); if(*p1<*p3) fun2(______); if(*p1<*p2) fun2(______); main() int a,b,c; scanf("%d%d%d",&a,&b,&c) ; fun1(&a,&b,&c) ; printf("%d,%d,%d/n",a,b,c) ;
填空题以下程序的输出结果是 【11】 。main() int s,i; for(s=0,i=1;1<3;i++,s+=i); printf("%d/n",s);
填空题下列给定程序中,函数fun()的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。
例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。
请在标号处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构。
试题程序 #include
<stdio.h> void fun(char*s) { int i, n,
k; char c; n=0; for (i=0;
s[i]!='/0'; i++) n++; if(n%
2==0)k=n-______; else k=n-2;
c=______; for (i=k-2; i>=1; i=i-2) {
s[i+2]=s[i]; s[i]=______; }
} main() { char s[80]="abcdefgh";
printf("/nThe original string is:% s/n", s);
fun(s); printf("/nThe result is:% s/n", s); }
填空题下面的程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。 #include <stdio.h> #include<stdlib.h> FILE*fp; main() charch; if((fp=fopen( 【19】 ))==NULL)exit(0); while((ch=getchar())!='@') fputc(ch,fp); fclose(fp);
填空题给定程序中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。
例如:若输入:THIs is a boot,则输出应该是:1、0、2、2、0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
void fun(char *s, int num[5])
{ int k, i=5;
for(k=0; k<i; k++)
/**********found**********/
num[i]=0;
for(; *s; s++)
{ i=-1;
/**********found**********/
switch(s)
{ case"a":case"A":{i=0; break;}
case"e":case"E":{i=1; break;}
case"i":case"I":{i=2; break;}
case"o":case"O":{i=3; break;}
case"u":case"U":{i=4; break;}
}
if(i>=0)
num[j]++;
}
}
main()
{ char s1[81]; int num1[5], i;
printf("/nPlease enter a string:"); gets(s1);
fun(s1, num1);
for(i=0; i<5; i++)printf("%d", num1[i]);
printf("/n");
}
填空题有以下程序: #include<stdio.h> struct STU int num; float TotalScore; ; void f(struct STU p) struct STU s[2]=20044, 550, 20045, 537; p. num=s[1].num; p.TotalScore=s[1]. TotalScore; main() struct STU s[2]=20041, 703, 20042, 580; f(s[0]); printf("%d%3.0f/n", s[0]. num, s[0]. TotalScore); 程序运行后的输出结果是______。
填空题以下程序运行后的输出结果是______。
main()
{ char a[]="abcdefg",*p;int i=0;
p=a;
while(*p)
{if(i%2!=0)*p='*';
p++;i++;
}
puts(a);
}
填空题已知字母A的ASCII码为65,以下程序运行后的输出结果是 【8】 。 main() char a, b; a='A'+'5'-'3'; b=a+'6'-'2'; printf("% d % c/n", a, b);
填空题下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:请填空。#defineN4voidsort(inta[][])inti,j,k,t;for(i=0;i<N;i++)for(j=0;j<N-1;j++)for(k=(11);k<N;k++)/*判断行下标是否为偶数来确定按升序或降序来排序*/if((12)?a[i][j]<a[i][k]:a[i][j]>a[i][k])t=a[i][j];a[i][j]=a[i][k];a[i][k]=t;voidoutarr(inta[N][N])…main()inta[N][N]=2,3,4,1),8,6,5,7,11,12,10,9,15,14,16,13;outarr(aa);/*以矩阵的形式输出二维数组*/sour(aa);outarr(aa);
填空题下列程序运行后的输出结果是______。
#include<stdio.h>
main()
{ int x=20;
printf("%d",0<x<20) ;
printf("%dkn",0<x}
填空题在计算机中,字符的比较是对它们的 【10】 进行比较。
填空题以下程序运行后的输出结果是 【12】 。 fun(int a) int b=0; static int c=3; b++; c++; return(a+b+c); main() int i, a=5; for(i=0; i<3; i++)printf("% d % d", i, fun(a)); printf("/n");
填空题下列给定程序中,函数fun()的功能是:将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
例如,若a所指数组中的数据为1、2、3、4、5、6、7、8、9,则调换后为6、7、8、9、5、1、2、3、4。
请在标号处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构。
试题程序 #include <stdio.h>
#define N 9 void fun(int a[], int n) {
int i, t, p; p=(n% 2==0)? n/2:n/2+______;
for(i=0; i<n/2; i++) { t=a[i];
a[i]=a[p+______]; ______=t; }
} main() { int b[N]={1, 2, 3, 4, 5, 6, 7, 8,
9}, i; printf("/nThe original data:/n");
for(i=0; i<N; i++) printf("% 4d", b[1]);
printf("/n"); fun(b, N); printf("/nThe data
after moving:/n"); for(i=0; i<N; i++)
printf("% 4d", b[i]); printf("/n"); }
填空题表达式(int)((double)(5/2)+2.5)的值是______。
填空题请补充main()函数,该函数的功能是:求m!。
例如10!=3628800。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void main()
{
int i, m;
long f=1;
system("CLS");
printf("Input m:");
scanf("%d", ______);
for(______; i<=m; i++)
______;
printf("%d!=%1d/n", m, f);
}
填空题以下程序输出的结果是{{U}} 【12】 {{/U}}。
#include <stdio.h>
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d/n",d);
}
填空题判定表和判定树是以图文形式描述数据流图的______。
