C和C++中实现循环读入若干数据,并以回车结束读入

C

//#include <stdafx.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
	int array[10] = {0};
	int i=0;
	int index = 0;
	while ((scanf("%d",&array[index]) != EOF) && getchar() != 
)
	{
		index++;
	}
	printf("index = %d
",index);
	for(i=0;i<=index;i++)     //注意这里的i<=index ,是有等号的
	{
		printf("%dth :  %d
",i,array[i]);
	}

	return 0;
}


//字符循环输入
#include <stdio.h>
#include <string.h>

int main(void)
{
    char str;

    int flag = 1;

    while(flag)
    {
        str = getchar();

        if(str == Q)
        {
            flag = 0;
            break;
        }
/*
*如:输入a,回车;实际上有两个字符传进去了,第一次是字符a,第二次是字符
。
*/
        if(str!=
) //防止回车 
        {
            printf("the char : %c
",str);
            printf("please input a char...
");
        }
    }

    printf("---end----
");

    return 0;
}

//字符串循环输入
#include <stdio.h>
#include <string.h>
#include <malloc.h>

int main(void)
{
    char* str = (char*)malloc(100*sizeof(char));

    int flag = 1;

    while(flag)
    {
        printf("please input some string:
");
/*
* scanf();  %s:用来输入字符串,将字符串送到一个字符数组中,在输入时,以非空字符开始,
* 以第一个空白字符结束。字符串以串结束标志作为其最后一个字符。
*/
        
        scanf("%s",str);
        if(strcmp(str,"quit")==0)
        {
            flag = 0;
            break;
        }
        //other things ...
        printf("the string is : %s

",str);
    }

    printf("---end----
");

    return 0;
}


C++

#include <iostream>

using namespace std;

int main(int argc,char* argv[])
{
	//int i = 0;
	//for(i=0;i<argc;i++)
	//{
	//	cout << i<< "th : " << argv[i] << endl;
	//}

	int index = 0;
	int array[10];
	while((cin.peek()!=EOF)&&(cin.peek()!=
))   
	{
		cin>>array[index];
		index++;
	}
	for(int i=0;i<index;i++)
	{
		cout << i << "th : " << array[i] << endl;
	}
	system("pause");   //暂停
	return 0;
}


经验分享 程序员 微信小程序 职场和发展