C语言&嵌入式

C语言中while循环和for循环的比较

2020-05-08  本文已影响0人  年迈的代码机器

注:笔者在刷题目的时候,遇到了一个较为简单的密码翻译题,写出来后,发现提示未在规定时间内运行结束。

题目:


第一次提交的代码:

#include <stdio.h>

#define N 80

int  main(){
    char str[N];
    int k;
    gets(str);
    while(str[k]!='\0'){
    if(str[k]>='a'&&str[k]<='y'){
        str[k]++;
    }else if(str[k]>='A'&&str[k]<='Y'){
        str[k]++;
    }else if(str[k]=='z'){
          str[k]='a';
    }else if(str[k]=='Z'){
            str[k]='A';
        }
    }
    k++;
    puts(str);
    return 0;
}

出现提示:


讲 while循环改为for循环之后:
代码

#include <stdio.h>

#define N 80

int  main(){
    char str[N];
    int k;
    gets(str);
    for(k=0;k<N;k++){
    if(str[k]>='a'&&str[k]<='y'){
        str[k]++;
    }else if(str[k]>='A'&&str[k]<='Y'){
        str[k]++;
    }else if(str[k]=='z'){
          str[k]='a';
    }else if(str[k]=='Z'){
            str[k]='A';
        }
    }

    puts(str);
    return 0;
}

提示:


总结:对于已知循环次数的情况 我们应当采取 for循环 更为高效 ;
对于未知循环次数的情况,就采用while循环。

上一篇 下一篇

猜你喜欢

热点阅读