2013年計算機等考三級網(wǎng)絡(luò)技術(shù)上機題及答案(1)

字號:

為大家收集整理了《2013年計算機等考三級網(wǎng)絡(luò)技術(shù)上機題及答案(1)》供大家參考,希望對大家有所幫助!??!
    下列程序的功能是:把s字符串中所有的字符左移一個位置,串中的第一個字符移到最后。請編制函數(shù)chg(char *s)實現(xiàn)程序要求,最后調(diào)用函數(shù)readwriteDat( )把結(jié)果輸出到out61.dat文件中。
    例如:s字符串中原有內(nèi)容為Mn,123xyZ,則調(diào)用該函數(shù)后,結(jié)果為n,123xyZM。
    注意:部分源程序已給出。
    請勿改動主函數(shù)main()和輸入輸出函數(shù)readwriteDAT()的內(nèi)容。
    試題程序:
    #include
    #include
    #include
    #define N 81
    void readwriteDAT();
    void chg(char *s)
    {
    }
    void main()
    {
    char a[N];
    system("CLS");
    printf("Enter a string :");
    gets(a);
    printf("The original string is :");
    puts(a);
    chg(a);
    printf("The string after modified :");
    puts(a);
    readwriteDAT();
    }
    void readwriteDAT()
    { int i;
    char a[N];
    unsigned char *p;
    FILE *rf,*wf;
    rf=fopen("in61.dat","r");
    wf=fopen("out61.dat","w");
    for(i=0;i<10;i++)
    { fgets(a,80,rf);
    p=strchr(a,'\n');
    if(p) *p=0;
    chg(a);
    fprintf(wf,"%s\n",a);
    }
    fclose(rf);
    fclose(wf);
    }
    【答案】
    void chg(char *s)
    {
    int i,str; /*定義變量,保存字符串長度*/
    char ch; /*定義字符暫存變量*/
    str=strlen(s); /*求字符串的長度*/
    ch=*s; /*將第一個字符暫賦給ch*/
    for(i=0;i
    *(s+i)=*(s+i+1);
    *(s+str-1)=ch; /*將第一個字符移到最后*/
    }
    【解析】本題考查用指針訪問字符串的方法。
    首先,通過字符串處理函數(shù)(strlen())求出字符串的長度,保存第一個字符。
    然后,利用一個for循環(huán)將字符串依次左移一位。
    最后,將保存的第一個字符移到最后。