高校题库
第841题
功能:编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符(注意:str[0]代表字符串的第一个字符)。
#include<stdio.h>
#include<string.h>
void main()
{
char str[81];
int i,n;
void fun(char str[],int i,int n);
void TestFunc();
printf("请输入字符串str的值:\n");
scanf("%s",str);
printf("你输入的字符串str是:%s\n",str);
printf("请输入删除位置i和待删字符个数n的值:\n");
scanf("%d%d",&i,&n);
while (i+n-1>strlen(str))
{
printf("删除位置i和待删字符个数n的值错!请重新输入i和n的值\n");
scanf("%d%d",&i,&n);
}
fun(str,i,n);
printf("删除后的字符串str是:%s\n",str);
TestFunc();
}
void fun(char str[],int i,int n)
{
while(_____1_____)
{
_____2_____
_____3_____
}
_____4_____
}
void TestFunc()
{
FILE *IN,*OUT;
char i[200];
/*char o[200];*/
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
fscanf(IN,"%s",i);
fun(i,2,8);
fprintf(OUT,"%s\n",i);
fclose(IN);
fclose(OUT);
}
第842题
功能:用函数求N个[10,60]上的整数中能被5整除的最大的数,如存在则返回这个最大值,如果不存在则返回0。
#include<stdio.h>
#define N 30
#include<stdlib.h>
int find(int arr[],int n)
{
int m=0;
int i;
for(_____1_____)
if(_____2_____)
_____3_____
return(m);
}
void main()
{
int a[N],i,k;
void TestFunc();
for(i=0;i<N;i++)
a[i]=rand()%50+10;
for(i=0;i<N;i++)
{
printf("%5d",a[i]);
if((i+1)%5==0) printf("\n");
}
k=find(a,N);
if(k==0)
printf("NO FOUND\n");
else
printf("the max is:%d\n",k);
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int n;
int i[5];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(n=0;n<5;n++)
{
fscanf(IN,"%d",&i[n]);
}
o=find(i,5);
fprintf(OUT,"%d\n",o);
fclose(IN);
fclose(OUT);
}
第843题
C语言中,_____是程序的基本组成部分。
第844题
已知i=5,写出语句i+=012;执行后整型变量i的十进制值是_____。
第845题
int x=2; z=++x+1;
则z的值为_____。
第846题
在微机中,字符的比较就是对它们的_____进行比较。
第847题
设x=4<4-!0,x的值为_____。
第848题
当a=3,b=2,c=1时,执行以下程序段后c=_____。
if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
第849题
当a=1,b=2,c=3时,执行以下程序段后a=_____。
if(a>c) b=a; a=c; c=b;
第850题
若int x=6;则x+=x-=x*x表达式最后x的值是_____。
第851题
以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则下划线处应填写_____。
ch=getchar(); while(ch _____ 'Y')/*在括号中填写*/ ch=getchar();
第852题
C语言中,二维数组在内存中的存放方式为按_____优先存放。
第853题
字符串的结束标志是_____。
第854题
函数调用语句func((e1,e2),(e3,e4,e5))中含有_____个实参。
第855题
预处理命令行都必须以_____号开始。
第856题
将数组a的首地址赋给指针变量p的语句是_____。
第857题
设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是_____。
union stud
{
char num[6];
float s[4];
double ave;
}
a,*p;
第858题
功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出矩阵第一行与第三行元素之和,设计fun()函数求这个和。
#include<stdio.h>
void main()
{
int i,j,s,a[3][3];
int fun(int a[3][3]);
void TestFunc();
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
s=fun(a);
printf("Sum=%d\n",s);
TestFunc();
}
int fun(int a[3][3])
{
int sum;
int i,j;
_____1_____
for(_____2_____)
for(_____3_____)
_____4_____
_____5_____
}
void TestFunc()
{
FILE *IN,*OUT;
int m;
int n;
int i[3][3];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(m=0;m<3;m++)
{
for(n=0;n<3;n++)
fscanf(IN,"%d",&i[m][n]);
}
o=fun(i);
{
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
第859题
功能:求出二维数组外围元素之和,作为函数值返回。二维数组的值在主函数中赋予。
#define M 4
#define N 5
#include<stdio.h>
int fun(int a[M][N])
{
int s=0;
int i,j;
for(_____1_____)
_____2_____
for(_____3_____)
_____4_____
_____5_____
}
void TestFunc()
{
FILE *IN,*OUT;
int iIN[M][N],iOUT;
int i,j,k;
IN=fopen("14.in","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("14.out","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(k=0;k<10;k++)
{
for(i=0;i<M;i++)
for(j=0;j<N;j++)
fscanf(IN,"%d",&iIN[i][j]);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
void main()
{
int a[M][N]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8}};
int y;
y=fun(a);
printf("s=%d\n",y);
TestFunc();
}
第860题
C语言的三种基本结构是_____结构、选择结构、循环结构。