把自己搞死之前,知道自己是这么死的了
#include <stdio.h> #include <stdlib.h> int main(void) { int i; int sum=0; char ch; printf("输入数字和任意空格:"); while(scanf("%d",&i)==1) { sum = sum+i; while((ch=getchar())==' ')// 想把自己搞死的话 ,这里 ch=getchar() ==' '试试 ; if(ch=='\n') { break; } ungetc(ch,stdin); } printf("结果是:%d",sum); printf("\n"); system("pause"); return 0; }
这个程序还有更加简洁的写法哦:
#include <stdio.h> #include <stdlib.h> int main(void) { int i; int sum=0; char ch; printf("输入数字和任意空格:"); while(scanf("%d",&i)==1) { sum = sum+i; if(getchar()=='\n') { break; } } printf("结果是:%d",sum); printf("\n"); system("pause"); return 0; } /*scanf会帮你过滤掉空格,不必自己操作*/
最下面是c++的实现方法
#include <iostream> using namespace std; int main(int argc, char *argv[]) { int sum =0; cout<<"请输入一串整数和任意数目的空格:" ; int i; while(cin>>i) { sum+=i; while(cin.peek()== ' ') { cin.get(); } if(cin.peek() =='\n') { break; } } cout<<"结果是:"<<sum <<endl; return 0; }