填空题以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。
void fun (int*x,int*y)
{……}
main()
{ int a=10,b=20;
______;严定义变量p*/
p=fun;p(&a,&b);
……}
填空题请补充main()函数。该函数的功能是:求1~200中(不包括200)所有素数的平均值。
程序运行后的结果为91.89。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
void main()
{
int i,j,n=0,flag;
float aver=0;
system("CLS"):
for(j=2;j%200;j++)
{
flag=1;
for(i=2;i<j;i++)
if(______)
{
flag=0;
break;
}
if(______)
{
n++;
aver+=j;
}
}
printf("/n/n average=%4.2f/n",______);
}
填空题以下程序运行后的输出结果是{{U}} 【8】 {{/U}}。
main()
{ int p[7]{11,13,14,15,16,17,18};
int i=0,j=0;
while(i<7
printf("%d/n",j);
}
填空题以下程序运行后的输出结果是【 】
main( )
{ int i,n[ ]={0,0,0,0,0};
for(i=1;i<=4;i++)
{ n[i]=n[i-1]*2+1;
printf("%d ",n[i]);
}
}
填空题下述函数用于统计一行字符中的单词个数,单词之问用空格分隔。 word_num(str) char str[]; int i,num=0,word=0; fot(i=0;str[i]!= 【13】 ;i++) if 【14】 =='')word=0; else if(word==0) word=1; 【15】 ; return(num);
填空题给定程序的功能是将n个人的考试成绩进行分段统计,考试成绩放在a数组中,各分段的人数存到b数组中:成绩为60~69的人数存到b[0]中,成绩为70~79的人数存到b[1]中,成绩为80~89的人数存到b[2]中,成绩为90~99的人数存到b[3]中,成绩为100的人数存到b[4]中,成绩为60分以下的人数存到b[5]中。
例如,当a数组中的数据是:93、85、77、68、59、43、94、75、98,调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
void fun(int a[],int b[],int n)
{
int i;
for(i=0;i<6;i++)
b[i]=0;
for(i=0;i<______;i++)
if(a[i]<60)
b[5]++;
______
b[(a[i]-60)/10]++;
}
void main()
{
int i,a[100]={93,85,77,68,59,43,94,75,98},b[6];
fun(______,9);
printf("the result is:");
for(i=0;i<6;i++)
printf("%d",b[i]);
printf("n,");
}
填空题请补充函数fun(),该函数的功能是判断一个数是否为回文数。当字符串是回文时,函数返回字符申:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:abcba。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<string.h>
#include<stdio.h>
char *fun(char*str)
{
char *p1,*p2;
int i, t=0;
p1=str;p2=str+strlen(str)-1;
for (i=0;{{U}} 【1】 {{/U}};i++)
if({{U}} 【2】 {{/U}})
{
t=1;
break;
}
if ({{U}} 【3】 {{/U}})
return("yes!");
else
return("no!");
}
main()
{
char str[50];
printf("Input;");
scanf("%s",str);
printf("%s/n",fun(str));
}
填空题本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) int i,j,max,temp; max=n-1; doj=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; max=j; while(______);
填空题用以下程序计算1到100的整数的累加和。请填空。 main( ) int i,sum= 【13】 ; i=1; for( 【14】 ) sum + =j i + +; printf("sum=%d/n", 【15】 );
填空题已有定义double *p;,请写出完整的语句,利用malloc函数使p指向一个双精度型的动态存储单元{{U}} 【8】 {{/U}}。
填空题若输入12、3、2、5、7,则以下程序的运行结果为 【7】 。int max,min;void max_min_value();main() int i,number[5]; printf("输入5个整数;/n"); for(i=0;i<5;i++) scanf("%d",&number[i]); max min value(number,5); printf("max=%d,min=%d/n",max,min); getch(); void max_min_value(array,n) int array[],n; int*p; max=min=*array; for(p=array+1;p<array+n;p++) if(*p>max)max=*p; else if(*p<min)min=*p;
填空题数据的______结构在计算机存储空问中的存放形式称为数据的存储结构或物理结构。
填空题设fP为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为 [15] 。
填空题写出下列程序的输出结果______。
main()
{ int n=0;
while(n++<= 1);
printf("%d,",n);
printf("%d",n++);
}
填空题以下函数用以求x的y次方。补足所缺语句。
Double fun(double x,int y)
{ int i;double z=1;
for(i=1;i{{U}} 【8】 {{/U}};i++)
z={{U}} 【9】 {{/U}};
return z;
}
填空题C语言中基本的数据类型有:__________、__________ 、__________ 。
填空题以下程序的输出结果是______。
#include<stdio.h>
funa(int a, int b){return a+b; }
funb(int a, int b){return a-b; }
sub(int(*t)(), int x, int y){return(*t)(x, y);}
main()
{ int x, (*p)(int, int);
p=funa;
x=sub(p, 9, 3); x+=sub (funb, 8, 3);
printf("%d/n", x);
填空题下列给定程序中,函数fun()的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩: 80.5 60 72 90.5 98 51.5 88 64 则低于平均分的学生人数为4(平均分为75.5625)。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> #include <conio.h> #define N 20 int fun(float *s, iht n,float *aver) { float ave ,t=0.0; int count=0,k,i; for(k=0;k<n;k++) /*************found**************/ t=s[k]; ave=t/n; for(i=0;i<n;i++) if(s[i]<ave) count++; /*************found**************/ *aver= return count; } main() { float s[30],aver; int m,i; clrscr(); printf("/nPlease enter m: "); scanf ("%d", printf("/nPlease enter %d mark :/n",m); for(i=0;i printf("/nThe number of students : %d/n",fun(s,m, printf("Ave=%f/n",aver); }
填空题以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main() int t=0,s=0,i; for(i=1;i<=5;i++) t=i+ 【10】 ;s=s+t; printf("s=%d/n",s);
填空题请补充main函数,该函数的功能是:把字符串str1中的非空格字符拷贝到字符串str2中。
例如,若sffl=“glad to see you!”,
则str2=“gladtoseeyou!”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 80
main()
{
static char strl [N] ="glad to see you!";
char str2 IN];
int i=0, j=0;
clrscr ();
printf("/n***** strl*****/n ");
puts (str1);
while (str1 [i] )
{
if({{U}}{{U}} {{/U}}{{/U}})
str2 [J++] =strl [i];
{{U}}{{U}} {{/U}}{{/U}};
}
printf("/n***** str2 *****/n ");
for (i=0; i<j; i++)
printf ("%c", str2 [i] );
}