while(scanf("%d',&n)==1&&n)是什么意思?

如题所述

scanf("%d',&n)==1
表示输入的为整型数值,否则此条件不成立(例如输入
字母
a
返回值为EOF即不为1)
&&n
表示要求n为非零的数值
即整句意思是输入非零的整形数值时进入循环
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-05-09
输入整数n的值,然后当输入的值n==1并且n!=0的时候条件成立。
它相当于。
int n;
do {
scanf("%d", &n);
} while (n==1 && n)

C语言的while(scnaf("%d",&n)!=EOF)的用法
你好!我电脑上上述程序执行时是都可以加的。可能你是输入EOF的时候不正确?输完一组数据之后,回车,再Ctrl+Z,再回车,接着输下一组数据,以此类推。程序就会分别输出每组的和(按行)。我的回答你还满意吗~~

算法怎么学
while(~scanf("%d",&n)){priority_queue<int,vector<int>,greater<int> >q;for(i=0;i<n;i++){scanf("%d",&t);q.push(t);}sum=0;if(q.size()==1){a=q.top();sum+=a;q.pop();}while(q.size()>1){a=q.top();q.pop();b=q.top();q...

C语言中如何实现多组数据输入输出?
1.首先输入一个n,表示将有n个输入输出,例如: #include <stdio.h>int main(){ int n,a; scanf("%d",&n); while(n--){ scanf("%d",&a); printf("输出:%d\\n",a); } return 0;}\/*运行结果:3255输出:255156输出:156125输出:125 *\/ 2.使用while(scanf("%d",&n)!=EOF){}语句,直达输入...

C语言求解
scanf("%d",&n); }while(n<1||n>9); \/*如果选择项不在1~9之间则重输*\/ return(n); \/*返回选择项,主函数根据该数调用相应的函数*\/ } \/*输入函数*\/ STUDENT *create() {int i,s; STUDENT *head=NULL,*p; \/* 定义函数.此函数带回一个指向链表头的指针*\/ system("cls"); for(;;) {p=...

如何用C语言,实现简单的分数化简
{return b==0?a:gcd(b,a%b);}int main(){int x,y;while(scanf("%d\/%d",&x,&y)!=EOF){if(y==0){printf("分母不能为0\\n");continue;}int c=gcd(x,y);x\/=c;y\/=c;printf("%d\/%d\\n",x,y);}return 0;} 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 ...

hd acm problem 1001
include<stdio.h> int main(){ int n;double sum;while(scanf("%d",&n)==1){ sum=(1+n)*(n\/2.0);printf("%.f\\n\\n",sum);} return 0;} 这是我AC的代码,你的精度不够,和应是double型,一般在OJ上做题,都应写int main(){return 0;}的这是标准格式 ...

编写程序,输入若干个大于2的正整数,如果是偶数,则将其分解为两个素数...
else {cnt=0;cnt1=0;}} }}int main(){ int n; do {scanf("%d",&n); if(n==0)break; if(n%2==0) printf("%d=%d+%d\\n",n,f(n),n-f(n)); else printf("%d is odd number!\\n",n); } while(n!=0); return 0;}哪里错了``每次输入12都是错的``` 展开 ...

为什么运算结果是这样的
scanf那行有一处错误,num前少了个& while(scanf("%d",&num)!=0)没看懂to_binary函数是干什么用的,但对转2进制来说似乎是有问题的。

怎么用scanf的返回值 判断输入的是不是一个整数
\/*scanf()碰到不匹配的字符会拒绝读取使之一直留在输入缓冲区,所以要把不匹配字符读完才行,getchar()一次只能读一个,可以弄个循环读完*\/ int yanzheng2(){ int t,n;do { t=scanf("%d",&n);while(getchar()!='\\n'){}; \/*用循环把缓冲区的不匹配字符读完*\/ if(t==0){ printf("...

while(scanf("%d%d",&a,&b)!=-1) { printf("%d\\n",a+b); }
如果输入的不是撤销操作(Ctrl+Z),则计算并输出a+b的值 有疑问提出 望采纳

相似回答