×

c语言数组可以有未知数吗

c语言数组可以有未知数吗(c语言的数组中能不能包含未知数)

admin admin 发表于2024-05-03 19:36:51 浏览22 评论0

抢沙发发表评论

其实c语言数组可以有未知数吗的问题并不复杂,但是又很多的朋友都不太了解c语言的数组中能不能包含未知数,因此呢,今天小编就来为大家分享c语言数组可以有未知数吗的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

c语言的数组中能不能包含未知数

哎呀,你先随便定义一个不就行了吗?算出来的时候再覆盖掉不就好了吗?你一开始就定义int a;for(int i = 0; i 《 6; i++){ for(int j = 0; j 《 6; j++) { a = fun(****); }}你没有定义一个数不代表这个位置不能存在一个随机数呀。像一般的电脑里面没有被初始化的静态数组里面都是有数字的,但是你想用的时候第一步就是对这个数组初始化。因为你认为原来的数没有意义。你现在也应该这么想

急求!!c语言中向数组中放不确定的数怎么办,比如说我定义了整形数组a[100],有时向其中输入5个,10个,

可以用动态数组int* a;要用的时候再分配空间a = new int;如果要重新分配空间,可以先delete,再重新分配delete a;a = new int;

怎样用c语言生成一个数组都是未知数

@现在我遇到这样一个问题,一个6*6的矩阵,里面每个数都是未知数,都需要通过另外的公式计算得到,那这个数组该怎么定义呢?是不是在定义这个数组之前都要把这些未知数都通过公式和scanf定义了?回答:先根据36个数的类型(如int),定义inta={0},这个语句的意思是:36个元素都设为0.在后来的计算中,将开始的元素替换掉就可以了,如a=100;(将最后一个元素设为100)

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

#include《stdio.h》

#include《ctype.h》

int main()

{

int a;

char c;

int i=0;

int n=0;

while((c=getchar())!=’\n’)

{

if(isdigit(c))

{

ungetc(c,stdin);//将c送回输入流

scanf("%d",&a);

}

}

for(i=0;i《n;i++)

{

printf("%d",a《i》);

}

return 0;

}

扩展资料:

printf()函数的用法

1.printf()函数的调用格式为:printf("《格式化字符串》",《参量表》);

//__stdcall

int __cdecl printf(const char*p,...);

...可变参数

printf在打印浮点数,不论原来是双精度还是单精度,都变为双精度(8字节)

打印1字节(char)2字节(short)4字节(int)==》4字节,除了long long(8字节)

void main()

{

int a=10;

folat ft=12.25f;

printf("%d%d\n",a,ft);

}

%d格式控制符--不具有强转能力

A格式化字符串包括两部分内容:

一部分是正常字符,这些字符将按原样输出;

另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

1.d/i有符号十进制形式输出(正数不输出符号)

2.u无符号十进制形式输出

3.o无符号八进制形式输出(不输出前缀0)

4.x无符号十六进制形式输出(不输出前缀Ox),并以小写abcdef表示。

5.X无符号十六进制形式输出(不输出前缀Ox),并以大写ABCDEF表示。

6.c输出单个字符

7.s输出字符串

8.f以小数形式输出单、双精度实数

9.E/e用科学计数法表示浮点数

10.G/g以%f或%e中较短的输出宽度输出单、双精度实数

+++++++++

void main()

{

long long x=0x12345678901357;

printf("%x\n",x);//=》78 90 13 57

printf("%lx\n",x);//=》78 90 13 57

printf("%llx\n",x);//=》12345678901357

}

B参量表

需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应

例题:

void main()

{

char a=128;

printf("%d\n",a);//=》-128

printf("%x\n",a);//=》ffff ff80

}

当printf调用,a给可变参数,自然而然扩展为4字节,a是有符号数,扩展的时候加符号位

1111 1111 1111 1111 1111 1000 0000=》ffff ff80

unsigned char a=128;

printf("%x\n",a);==》80

C语言中如何将未知个数的数存放在一个数组中

在C语言中数组的定义必须指明维数,即使没有指明维数,也必须进行初始化,编译器通过初始化列表中的元素个数来确定数组的维数,比如下面的代码:

int a = {1,2,3}; 

虽然没有指明数组的维数,但是编译知道数组a的维数是3(只有三个元素)。

要实现未知个数的元素存储于数组中,可以使用malloc()和free()来进行动态内存分配 。下面是一个使用动态内存的示例:

 #include 《stdio.h》#include 《malloc.h》#include 《stdlib.h》#include 《string.h》int main(){int size;printf("输入建立元素的个数:");scanf("%d",&size);int *p = (int *)malloc(sizeof(int) * size);if (p == 0) {printf("不能分配内存\n");return 0;}//初始化内存memset(p, 0x00, sizeof(int) * size);//释放内存free(p);return 0;}

我做C语言算法题目时遇到了个问题,用数组实现输入未知数目的数,输入结束进行输出

如果你知道你输入的最大数目,就如楼上所说的方法最简单。如果连这个也无法确定,那就先malloc一定大小的数组,输入时不断对已经输入的数据计数,如果超过了该数组的大小,就realloc更大的内存(翻倍即可),这也是C++中vector的实现机制。实力代码:int size=128,i=0;int* arr=(int*)malloc(size*sizeof(int));while(输入未结束){ 输入a; ++i; if(i》=size){ size*=2; arr=(int*)realloc(arr,size*sizeof(int)); }}

OK,关于c语言数组可以有未知数吗和c语言的数组中能不能包含未知数的内容到此结束了,希望对大家有所帮助。