在C语言中如何定义并输入任意个数据

作者&投稿:圭店 (若有异议请与网页底部的电邮联系)
C语言中怎样实现输入任意多个数据 函数都能运算 请举例~

1.使用EOF来判断是否结束输出,可以实现输入任意多个数据。 EOF,计算机术语,(End Of File)的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。 在C语言中,EOF表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,可以是文本文件,也可以是标准输入stdin。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。在windows平台,stdin输入流的EOF标志是 ctrl + z。在unix平台,stdin输入流的EOF标志是 ctrl + d。2.例程:
#include int main(){ int n; while (scanf("%d",&n)!=EOF){ //循环读入n,直到crtl+z/d printf ("%d ",n); //调用printf函数输出n } return 0;}

#include
int main()
{int num;double sum = 0;int count = 0;while(scanf("%d", &num) && num != -1)//输入-1停止}
{sum += num;count++;}
printf("%f", sum / count);
return 0。

扩展资料:
指针:
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。
参考资料来源:百度百科-c语言

用一个特定的数字表示结束,比如0, 当用户输入0 的时候就停止,可以参考下面的代码:

int a[100],i, count;

i =0;

while(scanf("%d", &a[i]) != EOF) {

if (a[i] == 0) break; // 用户输入了0,表示结束。

i++;

}

count = i-1;

扩展资料:

while是计算机的一种基本循环模式,while语法:

Pascal

while <条件> do <语句>

意为当条件符合时,接着做下面的语句;不符合时,退出循环。

C

do <语句> while(<条件>);

while(<条件>) <语句>;

C++

while(<条件>) <语句>;

do <语句> while(<条件>);

参考资料来源:百度百科-while (循环语句及英文单词)



既然数组长度不知道,就可以用#define定义数组的长度。具体实现如下:
#define N 10(10是初步定义的数组长度,将来有改变时只改这个数)
进入函数体
定义数组,比如:int a[N];
给数组元素赋值:for(i=0;i<N;i++)
scanf("%d",&a[i]); /* 执行到此语句时键盘输入数组元素的具体值就行了。

用一个特定的数字表示结束,比如0, 当用户输入0 的时候就停止。
int a[100],i, count;
i =0;
while(scanf("%d", &a[i]) != EOF) {
if (a[i] == 0) break; // 用户输入了0,表示结束。
i++;
}
count = i-1;

new ,delete。

只能用到链表了!


数组问题(c语言),如何让输入者定义个数,并输入数值,形成数组
严格意义上讲,c语言里面定义数组时其长度不能为变量,必须为固定值,因为c语言程序在定义数组时,必须先给数组开辟一个内存空间。不过,你所提的要求还是可以实现的,一般的做法是,可以先假设一个较大的数(不超过你所想输入的输入的数组长度的最大值MXLENGTH,)作为初始定义时数组大小,然后在输入...

c语言中,绝对值是如何定义的?
int abs_x= abs(x);printf(The absolute value of%d is%d\\n”,x,abs_x);return0;}输出结果为:复制代码The absolute value of-5is5。除了abs()函数之外,还可以使用库函数fabs()来计算浮点数的绝对值。该函数需要传入一个浮点数参数,并返回其绝对值。c语言的优点:1、高效性:C...

在c语言中 字符串如何去定义?有几种定义方法
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:char a[10] = "hello";char b[] = "hello";char *c = "hello";printf("%s%s%s", a, b, c);3、编译器运行test.cpp文件,此时通过所有3种定义字符串的方法成功定义被输出。

在C语言中,若变量已正确定义并赋值,则该表达式 a=a+7=c+b 有误吗?怎...
include <stdio.h> int main(void){ int a=3,b=6,c=9;a=a+7;a+7=b+c;printf("%d %d %d\\n",a,b,c);return 0;} 如果如上编写程序,则无输出;a=a+7;语句为正确的 而a+7=b+c;语句为错误的 如果写成a=a+7=c+b;同样也会出现错误 若改为 include <stdio.h> int main(...

C语言如何定义函数,函数中要调用其他变量!
a为main函数中的局部变量,在函数zjsx中是不可见的,应该以入参的形式把a传入zjsx中。void zjsx(int a);int main(){ int a=0;zjsx(a);return 0;} void zjsx(int a){ printf("a的值为%d\\n",a);}

C语言中如何把结构体变量定义在主函数内,再调用一个自定义输入函数和输...
可以在外部定义结构体类型,然后在主函数内部定义该类型的变量。在输入输出函数调用时,以结构体变量指针做为参数传递。参考代码如下:include <stdio.h>struct test{ int a;};\/\/定义结构体类型struct test。void input(struct test* p)\/\/输入函数,以指针作为参数。{ scanf("%d",&p->a);}...

如何在c语言中定义函数在.h文件,和在新文件中使用
句,以使用头文件 stdio.h 中的函数,比如说printf函数。可是该如何写自己的头文件,以让自己的函数能被再次使用呢?也许有同学会想,真接把自己的函数声明与定义移到.h文件里就可以了。就如下面的做法:在工程里建好main.c后,再建一个点utils.h文件,把常用的函数如mean()放这里。\/\/ file name...

在C语言中,一维数组的定义方式为:类型说明符数组名——
printf("%d ",x[i]); return 0; }请问C语言中如何把一个二维数组用一维数组表示出来? 定义a[][4]为一个4列的二维数组后,a[2]是*(a+2),这里a是一个指向4个整型的数组指针; a[2]也可以理解为&a[2][0],因为数组a其实只定义了一行,所以&a[2][0]已经越界了,不过在c...

c语言:定义一整型数组,用循环实现从键盘上给数组赋值,并用循环实现显示...
include <stdio.h> int main(){ int a[10],i;for(i=0;i<10;i++)scanf("%d", &a[i]);for(i=0;i<10;i++)printf("%d\\n", a[i]);return 0;}

C语言 若变量均己正确定义并赋值,以下合法的C语言赋值语句是() A...
A是正确的,a=y==5;先判断y==5,如果y的值是5,那么,y==5的值为真,即1,再把1赋值给x,最后x的值为1,否则,如果y的值不是5,是x的值为0 B不正确,%要求两边都是整数 C不正确,x+n不能作左值 D不正确,5是常数,不能作左值 ...

蕲春县17231649121: 在C语言中如何定义并输入任意个数据 -
凭琴复方: 你可通过是scanf()函数给N赋值啊!或者进行宏定义给N定义一个较大的数.还可以用while(){scanf()}语句进行控制啊

蕲春县17231649121: C语言中如何定义函数输入任意个数? -
凭琴复方: 看你说,可以用指针解决. int solve(int a[]) ; a存的就是人的情况 . 如果你想用可变参数列表 . 参考.printf 这个函数. 这个函数的参数列表是可变(不定)

蕲春县17231649121: C语言怎么实现字符串的任意输入 -
凭琴复方: 使用gets函数即可实现输入任意字符串. 1、gets函数: 原型:char * gets(char * buffer); 功能:从stdin流中读取字符串,直至读到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中.换行符不作为读取串的内容,读取...

蕲春县17231649121: 怎样用C语言输入若干个数字? -
凭琴复方: 可以定义一个大数组用以来接收输入的数据,数据接收时记录输入数据的个数,然后根据个数输出结果!

蕲春县17231649121: C语言如何定义一个N行N列的二维数组任意输入数据 -
凭琴复方: 1、一般情况下,题目会给出N不大于M,m不大于几的限制条件,此时只需这样定义即可 int a[N]M],其中N和M作为常数进行宏定义,比如 #define N 5 #define M 6 2、学到动态内存分配后,就不会有这样的担忧,需要时,可用malloc()函数在“堆”空间申请内存,该函数的原型是: void *malloc( size_t size );,功能是要求系统分配大小为size个字节的堆空间,注意到该函数的分会类型是void,通过强制类型转换即可获得需要的数据类型,比如 int *p; p = (int *)malloc(30); 如果申请成功,则返回该区域的首址,失败则返回NULL.

蕲春县17231649121: 在C语言中怎样定义一个字符串并输入输出 -
凭琴复方: char a[N];scanf("%s",a); printf("%s",a);

蕲春县17231649121: 数组问题(c语言),如何让输入者定义个数,并输入数值,形成数组 -
凭琴复方: 严格意义上讲,c语言里面定义数组时其长度不能为变量,必须为固定值,因为c语言程序在定义数组时,必须先给数组开辟一个内存空间.不过,你所提的要求还是可以实现的,一般的做法是,可以先假设一个较大的数(不超过你所想输入的输...

蕲春县17231649121: 在C语言中,怎样定义一个函数,使得任意输入一个整数,若为正数,则输出,否则直到得数>0为止 -
凭琴复方: #include<stdio.h> void f(void) { printf("输入一个数:"); int n; while(1) { scanf("%d",&n); if(n>0) { printf("%d\n",n); return; } printf("重输!!\n"); } } void main() { f(); }

蕲春县17231649121: C语言,如果用键盘向数组中输入任意多个数字? -
凭琴复方: #include <stdio.h> int main() {int a[1000],b[1000]; //初始化定义时必须有确定数目int i;int z;//一般1000个就够多了,如果实在不够的话要采用动态分配内存方法for(i=0;;i++){ if(!scanf("%d",&a[i])) //scanf函数如果没有得到一个输入的话会返回0break;}//运行本程序将会循环要你输入数字,一直到你输入非数字为止return 0; }

蕲春县17231649121: C语言中怎么输入数字和字母? -
凭琴复方: 一、输入数字可以用scanf输入. 如果输入的是整型数据,可以用int a; scanf("%d",&a); 实现把输入的数字赋值给a的效果. 类似的,如果是float, double,short,long等类型的数据,那么就要把变量定义成对应的类型,然后使用各自的格式字...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网