這裡蒐索程式師資訊,查找有用的技術資料
当前位置:首页 » 编程语言 » c语言未知数据怎么输入
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言未知数据怎么输入

发布时间: 2022-05-03 13:38:35

c语言或者C++中如何把未知数量的输入数据(譬如整型)存储的内存中并在后面需要的时候逐个调用

C++里面用vector容器可以实现

#include<iostream>
#include<vector>
usingnamespacestd;
intmain()
{
vector<int>vec;
inttemp;
while(cin>>temp)//Ctrl+z结束输入
{
vec.push_back(temp);
}
for(size_ti=0;i<vec.size();i++)//简单的调用,输出
cout<<vec[i]<<"";
cout<<endl;
}

㈡ c语言里怎样输入未知个数的的数据是输入整形,每次输入的数都是随机的(个数和大小都不确定)

没有代码,我只提供基本的思想,给lz
你可以自己写一个函数,初始化一个整型数组,然后每次数据量大于这个数组容量时,在扩容
伪代码如下:
1.初始化一个10位的整型数组 int[],i=0,size=10
2.输入时判断i<=size int[i]=input
3.如果i>size
4.新建一个int[size+5]的数组,并将前面的数据到这个新数组中
5.重复步骤2

㈢ c语言 读入未知行 未知个数的整数

单纯地读入未知行和未知个数,那就只能在while循环里实现了。
每行的每个数放入数组里(大小加大点),或者每次动态申请内存(这样节省空间)来存放。
这样要结束的话需要有结束的标志。

一般都是设置两个个宏来定义一个数值,一个用来记录行数,一个用来记录列数,数组变量的大小就可以由这两个宏来确定了,方便初始化。

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

#include&lt;stdio.h&gt;

#include&lt;ctype.h&gt;

int main()

{

int a[1000];

char c;

int i=0;

int n=0;

while((c=getchar())!=' ')

{

if(isdigit(c))

{

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

scanf("%d",&a[n++]);

}

}

for(i=0;i&lt;n;i++)

{

printf("%d",a&lt;i&gt;);

}

return 0;

}

(4)c语言未知数据怎么输入扩展阅读:

printf()函数的用法

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

//__stdcall

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

...可变参数

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

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

void main()

{

int a=10;

folat ft=12.25f;

printf("%d%d ",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 ",x);//=&gt;78 90 13 57

printf("%lx ",x);//=&gt;78 90 13 57

printf("%llx ",x);//=&gt;12345678901357

}

B参量表

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

例题:

void main()

{

char a=128;

printf("%d ",a);//=&gt;-128

printf("%x ",a);//=&gt;ffff ff80

}

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

1111 1111 1111 1111 1111 1000 0000=&gt;ffff ff80

unsigned char a=128;

printf("%x ",a);==&gt;80

㈤ C语言中如何控制未知长度的数组的输入

方法一:每输入一次,都询问是否继续输入
while(1)
{
scanf("%d",&a[i]);
printf("是否继续?(Y/N)");
c=getchar();
if(c=='Y'||c=='y')continue;
else break;
}
这种方法比较笨
方法二:规定输入的范围,例如要输入的是正整数,那么可以检测输入的是否合法,如果输入了负数就结束循环
while(scanf("%d",&a[i])==1&&a[i]>0)
{
continue;
}
方法很多,依据不用程序的不同任务可以有不同的办法。

㈥ c++,输入一个未知大小的数组怎么做 要求有回答范例。。。

如下参考:

1.首先,定义一个常量大小来控制数组的大小。

㈦ C语言中逐个获取输入的未知个数数据的常用方法是什么

1 折中方法,可以在输入前打印规则,比如说“每个数据用逗号分隔”、“每个数据用?分隔”;
2 如果一定要用空格的话,可以用gets函数来接收输入的字符串
格式:gets(字符数组名);功能:gets函数用于将输入的字符串内容存放到指定的字符数组中,输入结尾的换行符'\n'被换成'\0'存储在该数组中。
举例说明如下:
char str[20]; // 定义一个字符数组,大小为20个字节
gets(str); // 将用户输入的字符串(可以包含空格)存储到字符数组str中,以回车结束输入printf("%s", str); // 输出用户输入的字符串(包含空格)

注:使用gets函数时,需将头文件#include<stdio.h>包含到源文件中。
然后遍历str数组,遇到空格就分词

㈧ c语言 中输入一组数量未知数据怎么表示

你好!!

可以按照下面的方法实现:

chara[100];
scanf("%s",&a);

chara[100];
gets(a);

㈨ C语言怎么输入未知元素个数的数集

数组下标是从0开始的,如果要输入16个元素就应该开a[
16
]
int
a[
16
],
i;
for
(
i
=
0;
i
<
16;
i++
)
scanf("%d",
&a[
i
]);
每敲一个元素按一次回车或者空一个格都可以。