前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言经典面试题

C语言经典面试题

作者头像
越陌度阡
发布2020-11-26 12:25:41
6770
发布2020-11-26 12:25:41
举报

1. 从文本文件old.txt读取字符,将其中的数字字符 '0',' 1',' 2',......'9',分别用英文字母字符'Z', 'Y', 'Z', 'W', 'V', 'U', 'T', 'S', 'R','Q'替换,其余字符不变,结果写入文本文件new.txt,并分别将两个文件的内容输出到屏幕。

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
int main(void){
    // 定义文件操作的两个指针
    FILE *fp1,*fp2;
    char ch;
    // 如果打开要读取文件出错
    if((fp1=fopen("old.txt","r"))== NULL){
        printf("error\n");
        exit(1);
    }

    // 如果打开要写入的文件出错
    if((fp2=fopen("new.txt","w+"))==NULL){
        printf("error\n");
        exit(1);
    }

    // 循环
    while(!feof(fp1)){
        // 获取文件中的字符
        ch = fgetc(fp1);
        // 输出读取的文件
        putchar(ch);
        if(ch>'0'&&ch<='9'){
            // 经典
            ch = 'Z'-(ch-48);
        }
        // 把字符写入指针所对应的对象中
        fputc(ch,fp2);
    }
    // 还原指针
    rewind(fp2);
    // 输出之前写入文件的内容
    while(!feof(fp2)){
        ch = fgetc(fp2);
        putchar(ch);
    }
    // 关闭指针
    fclose(fp1);
    fclose(fp2);
    return 0;
}

2. 编写函数int move(int b[ ], int n , int m),将整型数组 b 的 n 个元素循环右移 m 个位置。例如:n = 10,m = 2时,移动前:1,2,3,4,5,6,7,8,9,0,移动后:9,0,1,2,3,4,5,6,7,8,然后编写主函数,从键盘输入数组元素及n和m(0<m<n<20)的值,调用move函数,输出移动前后的全部元素。

代码语言:javascript
复制
#include<stdio.h>
void move(int b[],int n,int m){
    int temp;
    int i,j;

    // b =[1,2,3,4,5,6,7,8,9,0];
    // n = 10;
    // m = 2;

    // 移动2轮
    for(i=0;i<m;i++){  
        // 尾数       
        temp = b[n-1];   
        // 交换位置     
        for(j=n-1;j>0;j--){
           b[j]=b[j-1];       
        }
        // 尾数放到头部
        b[0]=temp;
    }  
}

int main(void){
    int a[20];
    int i,n,m;
    scanf("%d%d",&n,&m);

    // 输入要排序的数
    for(i=0;i<n;i++){
        // 5d代表数字所占宽度
        scanf("%5d",&a[i]);
    }

    // 打印之前输入的数据
    for(i=0;i<n;i++){
        printf("%5d",a[i]);
    }

    // 换行
    printf("\n");

    // 移位数据
    move(a,n,m);

    // 输出移位后的数据
    for(i=0;i<n;i++){
        printf("%5d",a[i]);
    }
    printf("\n");
    return 0;


}

未完待续。。。。。。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/02/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档