rchg.net
当前位置:首页 >> C语言中如何给一个数组输入一组总数未知的数 >>

C语言中如何给一个数组输入一组总数未知的数

首先要先定义一个足够大的数组,然后利用scanf的返回值来确定输入结束。 scanf的返回值是实际输入数值的个数。 比如输入整型数值时,scanf("%d",&a);如果输入a成功,那么返回值会是1。 按照这个思路,可以编写输入整型数组的代码如下: #include...

在C语言中数组的定义必须指明维数,即使没有指明维数,也必须进行初始化,编译器通过初始化列表中的元素个数来确定数组的维数,比如下面的代码: int a[] = {1,2,3}; 虽然没有指明数组的维数,但是编译知道数组a的维数是3(只有三个元素)。 要实...

C语言在数组个数未知的情况下,根据应用情况不同,有三种方式。 1,数组元素总数未知,但是需要存储的内容是已知的。 其实这是一种变相的已知个数,只是编程者不去计算总个数,把这个工作交给系统来做。这时可以通过数组个数留空,显式初始化数...

#includeint main(int argc, char *argv[]){char a[50] = "";int i = 0, j = 0;scanf("%s", a);while(a[i] != '\0'){if((a[i]-'1') >= 0 && (a[i]-'1') < 10)j++;i++;}printf("输入字符 %d 个,数字字符 %d",i,j);return 0;}

可以直接输入字符串,然后把每个数减'0'得到整数 str s[1000];scanf("%s",s);int a[1000],i;for(i=0;i

有个简单的方法,用malloc,(假设n是你需要的未知量,并已经赋值) int *a = (int *)malloc(n * sizeof(int));a使用的时候,按正常数组用,比如赋值及输出。for (int i = 0; i < n; i++){ a[i] = i;}for (int i = 0; i < n; i++){ printf("%d\n"...

#include int main() { int integer[100]; int i,k = 0; for(i = 0; i < 100; i ++) { printf("输入一个整数: "); scanf("%d", &integer[i]); if (integer[i] == 0) break; //当输入值为0,退出循环 k++; } for(i = 0; i < k; i ++) { printf("%...

输入的时候 在前面加一个空格 因为被你的getchar()把1拿走了 或者代码改为 do { scanf("%d",&a[i]); i++; }while((getchar())!='\n');

每次循环, 你的 getchar() 要读去一个字符。如果这个字符 不是 '\n', 你需要把它 “还” 回来, 否则 scanf( ..) 时 少了 一个 字符,若少的是空白符,则没有影响,若少了数字,就有影响。 通常,可以用: int c; while(1){ c = getc (stdin); // ...

可变长数组可以简单的实现,但是可变长数组是在C99后才加入标准的,vc6不支持C99 可以使用动态内存分配实现 int n,*p;scanf("%d",&n);p=(int *)malloc(sizeof(int)*n);p[0]=...;p[1]=...;...

网站首页 | 网站地图
All rights reserved Powered by www.rchg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com