高校题库

第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语言的三种基本结构是_____结构、选择结构、循环结构。