C语言实现循环输入
声明:本人也是刚刚开始搞C语言的萌新,如有纰漏还请各位大佬谅解
一 根据次数循环输入
根据循环次数输入
首先输入循环次数,然后可进行多次输入,注意:循环条件是n --,而不是 – n;具体区别是n --的值是n,而-- n的值是n-1,这样导致-- n的循环次数会少1;
#include <stdio.h>
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 <stdio.h>
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 <stdio.h>
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;
}
好!本人第一条博客就到这里了如有差错还望指正。