我输入一组数字--很长,我想定义一个数组,使得每一个数字对应数组中的每一项。
请问具体我该怎么做???
16 个解决方案
#1
int number[];
int i=0
cin >> number[i];
while(number[i]!=0)
{
i++;
cin >> number[i];
}
int i=0
cin >> number[i];
while(number[i]!=0)
{
i++;
cin >> number[i];
}
#2
按老办法输入~
#3
你的意思是将类似于 2 33 456 32 434 23 2 34 44 233 4545 的这样一个长的字符串分割成一个数字的数组是吗?如果是这样的话,可以用一个循环,循环读字符串中的字符,读到分割 符号就暂停,将读取的子字符串转换成数字放到数组中去,这样循环知道结束
#4
1.首先定义数组的长度,然后进行输入,如下:
int iFor=0;
int iaTemp[50];
for(iFor=0; iFor<50; iFor++) {
scanf("%d", &iaTemp[iFor]);
fflush(stdin);
}
2.如果你不知道数组的长度,我推荐你使用链表队列,会很方便阿
int iFor=0;
int iaTemp[50];
for(iFor=0; iFor<50; iFor++) {
scanf("%d", &iaTemp[iFor]);
fflush(stdin);
}
2.如果你不知道数组的长度,我推荐你使用链表队列,会很方便阿
#5
#include <iostream>
#include <vector>
using namespace std;
void main()
{
vector <int> intVector;
vector <int>::iterator iter=intVector.begin();
int i=-1;
while(i!=0)
{
cin>>i;
intVector.push_back(i);
}
for(iter;iter!=intVector.end();iter++)
{
cout<<*iter<<" ";
}
}
#include <vector>
using namespace std;
void main()
{
vector <int> intVector;
vector <int>::iterator iter=intVector.begin();
int i=-1;
while(i!=0)
{
cin>>i;
intVector.push_back(i);
}
for(iter;iter!=intVector.end();iter++)
{
cout<<*iter<<" ";
}
}
#6
#define SZ 100
main()
{
int num[SZ];
char s[SZ];
int i,j;
printf("输入数字");
scanf("%s",s);
for(i=0;s[i];i++)num[i]=s[i]-'0';
printf("输入的数字为:\n");
for(j=0;j<i;j++)printf("%d",num[j]);
}
main()
{
int num[SZ];
char s[SZ];
int i,j;
printf("输入数字");
scanf("%s",s);
for(i=0;s[i];i++)num[i]=s[i]-'0';
printf("输入的数字为:\n");
for(j=0;j<i;j++)printf("%d",num[j]);
}
#7
如果是多位或者有负值,好像上面的方法都不怎么样啊,shitalone(西特龙) 为什么不让我输入0值啊? sinusoid(天涯怪客),你的程序只能输入一个数。
#8
是一个数,但是有很长的数字组成!
想把他们与一个数组相对应!!
想把他们与一个数组相对应!!
#9
不让你输入零是给你提供一个结束输入的方法,当输入完毕时可以输入0表示结束。
当然你也可以改成别的数值来控制结束,这就随你了。
当然你也可以改成别的数值来控制结束,这就随你了。
#10
#define num 100
main()
{
int string[num];
int i;
printf("输入数字:");
for(i=0;i<=100;i++)
do
{
scanf("%d"string[i]);
}while(string[i]!=null);
printf("数字为");
for(i=0;i<=100;i++)
printf("%d",string[i]);
}
main()
{
int string[num];
int i;
printf("输入数字:");
for(i=0;i<=100;i++)
do
{
scanf("%d"string[i]);
}while(string[i]!=null);
printf("数字为");
for(i=0;i<=100;i++)
printf("%d",string[i]);
}
#11
输入的长度由SZ来定,保存在num[]数组中,可以啊
给分呀~~~~~ :)
给分呀~~~~~ :)
#12
linda78512(万剑)
你的程序,好象有点问题!!
在C中找不到null!!
所以这种结束方式是不正确的!!!
GZCompiler(编译器)
你说的有道理,但是一组数字,怎么可能没有0,
你的那种选择太欠缺考虑,
是不是太着急回答我的问题了,谢谢了!!
你的下一个帖子,用模板来做,不是不可以,
可是对于一个小程序来说,用模板不是很慢,
但是有种大材小用的做作感!(我实话实说)
sinusoid(天涯怪客)
你的程序写的真棒,佩服!!!
我想问,你是怎么想到的??
而且有一个小的问题:for(i=0;s[i];i++)num[i]=s[i]-'0';
这一行,您可否解释一下,谢谢!!!!
你的程序,好象有点问题!!
在C中找不到null!!
所以这种结束方式是不正确的!!!
GZCompiler(编译器)
你说的有道理,但是一组数字,怎么可能没有0,
你的那种选择太欠缺考虑,
是不是太着急回答我的问题了,谢谢了!!
你的下一个帖子,用模板来做,不是不可以,
可是对于一个小程序来说,用模板不是很慢,
但是有种大材小用的做作感!(我实话实说)
sinusoid(天涯怪客)
你的程序写的真棒,佩服!!!
我想问,你是怎么想到的??
而且有一个小的问题:for(i=0;s[i];i++)num[i]=s[i]-'0';
这一行,您可否解释一下,谢谢!!!!
#13
GZCompiler(编译器)
你说的有道理,但是一组数字,怎么可能没有0,
你的那种选择太欠缺考虑,
是不是太着急回答我的问题了,谢谢了!!
你的下一个帖子,用模板来做,不是不可以,
可是对于一个小程序来说,用模板不是很慢,
但是有种大材小用的做作感!(我实话实说)
----------------------------------------------
回复:
是啊,既然不可能没有0,你就换一个别的来控制输入结束嘛,我只是用0举例而已。
我不觉得用模板有什么不好,况且用模板来实现只是存储上的一种策略,如果你的数字很长且不定长,怎么在一开始分配数组呢?
你说的有道理,但是一组数字,怎么可能没有0,
你的那种选择太欠缺考虑,
是不是太着急回答我的问题了,谢谢了!!
你的下一个帖子,用模板来做,不是不可以,
可是对于一个小程序来说,用模板不是很慢,
但是有种大材小用的做作感!(我实话实说)
----------------------------------------------
回复:
是啊,既然不可能没有0,你就换一个别的来控制输入结束嘛,我只是用0举例而已。
我不觉得用模板有什么不好,况且用模板来实现只是存储上的一种策略,如果你的数字很长且不定长,怎么在一开始分配数组呢?
#14
GZCompiler(编译器)
回复:
是啊,既然不可能没有0,你就换一个别的来控制输入结束嘛,我只是用0举例而已。
我不觉得用模板有什么不好,况且用模板来实现只是存储上的一种策略,如果你的数字很长且不定长,怎么在一开始分配数组呢?
你说的也有道理,不过你可以看看sinusoid(天涯怪客)的程序,我觉得写的很棒!!!
回复:
是啊,既然不可能没有0,你就换一个别的来控制输入结束嘛,我只是用0举例而已。
我不觉得用模板有什么不好,况且用模板来实现只是存储上的一种策略,如果你的数字很长且不定长,怎么在一开始分配数组呢?
你说的也有道理,不过你可以看看sinusoid(天涯怪客)的程序,我觉得写的很棒!!!
#15
int number[];
int i=0
cin >> number[i];
while(number[i]!=0)
{
i++;
cin >> number[i];
}
int i=0
cin >> number[i];
while(number[i]!=0)
{
i++;
cin >> number[i];
}
#16
To: ghdut(傻瓜)
是的,我也觉得sinusoid的程序不错,并且适合从文件中读取数值字符串。
不过觉得一点不好,就是用定长的数组接受不定长的输入,这样未免有些被动,同时也浪费资源。
当然了,方法是多样的,选用哪种要个人习惯和使用场合,说这些只不过通过这个例子来讨论一下相关的问题。
是的,我也觉得sinusoid的程序不错,并且适合从文件中读取数值字符串。
不过觉得一点不好,就是用定长的数组接受不定长的输入,这样未免有些被动,同时也浪费资源。
当然了,方法是多样的,选用哪种要个人习惯和使用场合,说这些只不过通过这个例子来讨论一下相关的问题。
#1
int number[];
int i=0
cin >> number[i];
while(number[i]!=0)
{
i++;
cin >> number[i];
}
int i=0
cin >> number[i];
while(number[i]!=0)
{
i++;
cin >> number[i];
}
#2
按老办法输入~
#3
你的意思是将类似于 2 33 456 32 434 23 2 34 44 233 4545 的这样一个长的字符串分割成一个数字的数组是吗?如果是这样的话,可以用一个循环,循环读字符串中的字符,读到分割 符号就暂停,将读取的子字符串转换成数字放到数组中去,这样循环知道结束
#4
1.首先定义数组的长度,然后进行输入,如下:
int iFor=0;
int iaTemp[50];
for(iFor=0; iFor<50; iFor++) {
scanf("%d", &iaTemp[iFor]);
fflush(stdin);
}
2.如果你不知道数组的长度,我推荐你使用链表队列,会很方便阿
int iFor=0;
int iaTemp[50];
for(iFor=0; iFor<50; iFor++) {
scanf("%d", &iaTemp[iFor]);
fflush(stdin);
}
2.如果你不知道数组的长度,我推荐你使用链表队列,会很方便阿
#5
#include <iostream>
#include <vector>
using namespace std;
void main()
{
vector <int> intVector;
vector <int>::iterator iter=intVector.begin();
int i=-1;
while(i!=0)
{
cin>>i;
intVector.push_back(i);
}
for(iter;iter!=intVector.end();iter++)
{
cout<<*iter<<" ";
}
}
#include <vector>
using namespace std;
void main()
{
vector <int> intVector;
vector <int>::iterator iter=intVector.begin();
int i=-1;
while(i!=0)
{
cin>>i;
intVector.push_back(i);
}
for(iter;iter!=intVector.end();iter++)
{
cout<<*iter<<" ";
}
}
#6
#define SZ 100
main()
{
int num[SZ];
char s[SZ];
int i,j;
printf("输入数字");
scanf("%s",s);
for(i=0;s[i];i++)num[i]=s[i]-'0';
printf("输入的数字为:\n");
for(j=0;j<i;j++)printf("%d",num[j]);
}
main()
{
int num[SZ];
char s[SZ];
int i,j;
printf("输入数字");
scanf("%s",s);
for(i=0;s[i];i++)num[i]=s[i]-'0';
printf("输入的数字为:\n");
for(j=0;j<i;j++)printf("%d",num[j]);
}
#7
如果是多位或者有负值,好像上面的方法都不怎么样啊,shitalone(西特龙) 为什么不让我输入0值啊? sinusoid(天涯怪客),你的程序只能输入一个数。
#8
是一个数,但是有很长的数字组成!
想把他们与一个数组相对应!!
想把他们与一个数组相对应!!
#9
不让你输入零是给你提供一个结束输入的方法,当输入完毕时可以输入0表示结束。
当然你也可以改成别的数值来控制结束,这就随你了。
当然你也可以改成别的数值来控制结束,这就随你了。
#10
#define num 100
main()
{
int string[num];
int i;
printf("输入数字:");
for(i=0;i<=100;i++)
do
{
scanf("%d"string[i]);
}while(string[i]!=null);
printf("数字为");
for(i=0;i<=100;i++)
printf("%d",string[i]);
}
main()
{
int string[num];
int i;
printf("输入数字:");
for(i=0;i<=100;i++)
do
{
scanf("%d"string[i]);
}while(string[i]!=null);
printf("数字为");
for(i=0;i<=100;i++)
printf("%d",string[i]);
}
#11
输入的长度由SZ来定,保存在num[]数组中,可以啊
给分呀~~~~~ :)
给分呀~~~~~ :)
#12
linda78512(万剑)
你的程序,好象有点问题!!
在C中找不到null!!
所以这种结束方式是不正确的!!!
GZCompiler(编译器)
你说的有道理,但是一组数字,怎么可能没有0,
你的那种选择太欠缺考虑,
是不是太着急回答我的问题了,谢谢了!!
你的下一个帖子,用模板来做,不是不可以,
可是对于一个小程序来说,用模板不是很慢,
但是有种大材小用的做作感!(我实话实说)
sinusoid(天涯怪客)
你的程序写的真棒,佩服!!!
我想问,你是怎么想到的??
而且有一个小的问题:for(i=0;s[i];i++)num[i]=s[i]-'0';
这一行,您可否解释一下,谢谢!!!!
你的程序,好象有点问题!!
在C中找不到null!!
所以这种结束方式是不正确的!!!
GZCompiler(编译器)
你说的有道理,但是一组数字,怎么可能没有0,
你的那种选择太欠缺考虑,
是不是太着急回答我的问题了,谢谢了!!
你的下一个帖子,用模板来做,不是不可以,
可是对于一个小程序来说,用模板不是很慢,
但是有种大材小用的做作感!(我实话实说)
sinusoid(天涯怪客)
你的程序写的真棒,佩服!!!
我想问,你是怎么想到的??
而且有一个小的问题:for(i=0;s[i];i++)num[i]=s[i]-'0';
这一行,您可否解释一下,谢谢!!!!
#13
GZCompiler(编译器)
你说的有道理,但是一组数字,怎么可能没有0,
你的那种选择太欠缺考虑,
是不是太着急回答我的问题了,谢谢了!!
你的下一个帖子,用模板来做,不是不可以,
可是对于一个小程序来说,用模板不是很慢,
但是有种大材小用的做作感!(我实话实说)
----------------------------------------------
回复:
是啊,既然不可能没有0,你就换一个别的来控制输入结束嘛,我只是用0举例而已。
我不觉得用模板有什么不好,况且用模板来实现只是存储上的一种策略,如果你的数字很长且不定长,怎么在一开始分配数组呢?
你说的有道理,但是一组数字,怎么可能没有0,
你的那种选择太欠缺考虑,
是不是太着急回答我的问题了,谢谢了!!
你的下一个帖子,用模板来做,不是不可以,
可是对于一个小程序来说,用模板不是很慢,
但是有种大材小用的做作感!(我实话实说)
----------------------------------------------
回复:
是啊,既然不可能没有0,你就换一个别的来控制输入结束嘛,我只是用0举例而已。
我不觉得用模板有什么不好,况且用模板来实现只是存储上的一种策略,如果你的数字很长且不定长,怎么在一开始分配数组呢?
#14
GZCompiler(编译器)
回复:
是啊,既然不可能没有0,你就换一个别的来控制输入结束嘛,我只是用0举例而已。
我不觉得用模板有什么不好,况且用模板来实现只是存储上的一种策略,如果你的数字很长且不定长,怎么在一开始分配数组呢?
你说的也有道理,不过你可以看看sinusoid(天涯怪客)的程序,我觉得写的很棒!!!
回复:
是啊,既然不可能没有0,你就换一个别的来控制输入结束嘛,我只是用0举例而已。
我不觉得用模板有什么不好,况且用模板来实现只是存储上的一种策略,如果你的数字很长且不定长,怎么在一开始分配数组呢?
你说的也有道理,不过你可以看看sinusoid(天涯怪客)的程序,我觉得写的很棒!!!
#15
int number[];
int i=0
cin >> number[i];
while(number[i]!=0)
{
i++;
cin >> number[i];
}
int i=0
cin >> number[i];
while(number[i]!=0)
{
i++;
cin >> number[i];
}
#16
To: ghdut(傻瓜)
是的,我也觉得sinusoid的程序不错,并且适合从文件中读取数值字符串。
不过觉得一点不好,就是用定长的数组接受不定长的输入,这样未免有些被动,同时也浪费资源。
当然了,方法是多样的,选用哪种要个人习惯和使用场合,说这些只不过通过这个例子来讨论一下相关的问题。
是的,我也觉得sinusoid的程序不错,并且适合从文件中读取数值字符串。
不过觉得一点不好,就是用定长的数组接受不定长的输入,这样未免有些被动,同时也浪费资源。
当然了,方法是多样的,选用哪种要个人习惯和使用场合,说这些只不过通过这个例子来讨论一下相关的问题。