C语言实现循环输入

3659

C语言实现循环输入

声明:本人也是刚刚开始搞C语言的萌新,如有纰漏还请各位大佬谅解

一 根据次数循环输入

根据循环次数输入

​ 首先输入循环次数,然后可进行多次输入,注意:循环条件是n --,而不是 – n;具体区别是n --的值是n,而-- n的值是n-1,这样导致-- n的循环次数会少1;

#include

int main(int argc, char const *argv[])

{

int n;

int w;

scanf("%d", &n); //确定循环n次

while(n --){ //while循环条件是括号中的值不为0则进行循环,所以直接每次循环后都减一;

printf("%d循环\n", n);

scanf("%d", &w);

printf("%d\n", w);

}

return 0;

}

二 根据条件循环输入

1.死循环输入

​ while循环条件是括号中的值为不为0则进行循环,所以直接为1,可以直接开始循环。然后可以循环输入。当满足n等于10的条件是就会跳出循环。

#include

int main(int argc, char const *argv[])

{

int n;

while(1){ //while循环条件是括号中的值为1则进行循环,所以直接为1,可以直接开始循环

scanf("%d", &n);

printf("%d\n", n);

if (n == 10) //跳出循环的条件,可以没有,最好要有,要不然死循环。

{

break;

}

}

return 0;

}

2.直接while(scanf(""))

​ 首先我们要清楚scanf()函数的返回值:

​ scanf()的返回值是int型;返回值的大小是按正确输入格式进行输入的个数。

​ 其次我们也会遇到EOF的形式:

​ EOF是end of file的简称说明是已经是文件末了,通常是用-1代替EOF。EOF在输入时是^Z(即ctrl+Z)。

​ 当然也有可能是用逗号运算符:

​ 即括号里面的值为逗号后面的值。

​ scanf()也常与逻辑运算符一起使用:

上代码:

#include

int main(int argc, char const *argv[])

{

int n;

//==========输入的n不为0==========//

while(scanf("%d", &n), n){ //while循环条件是括号中的值不为0则进行循环,所以直接每次循环后都减一;

printf("%d\n", n);

}

while(scanf("%d", &n)&&n!=0){

printf("%d\n", n);

}

int N = 8;

//==========输入的n不为N==========//

while(scanf("%d", &n)&&n!=N){

printf("%d\n", n);

}

while(scanf("%d", &n), n != N){

printf("%d\n", n);

}

while(scanf("%d", &n)){

if (n == N)

{

break;

}

printf("%d\n", n);

}

//==========输入的n全都符合格式====//

while(scanf("%d", &n) == 1){

printf("%d\n", n);

}

//==========输入的n一直到文件尾====//

while(scanf("%d", &n)!=EOF){

printf("%d\n", n);

}

while(scanf("%d", &n)!=-1){

printf("%d\n", n);

}

return 0;

}

好!本人第一条博客就到这里了如有差错还望指正。