我的for循环遇到了一些麻烦,我想在for循环中的一个int数组中输入1个数字,循环4次.但是输出立即变为"请输入第4个数字",好像变量i从一开始就是4.
#include <iostream>
#include <string>
#include <iostream>
using namespace std;
void main()
{
int PIN[4] = {};
string txtNr ="1st";
for(int i=0;i<4;i++)
{
if(i=0)
txtNr = "1st";
if(i=1)
txtNr = "2nd";
if(i=2)
txtNr = "3rd";
if(i=3)
txtNr = "4th";
cout << "Please enter the " << txtNr <<" number: ";
cin >> PIN[i];
}
for(int i=0;i<4;i++)
{
cout << PIN[i] << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
有人知道吗?如果我输入一个数字,例如最后一个输出
0 0 0 1
这是我正在处理的一个javascript练习问题:
function combo(str){
var splitStr=str.split("");
for (var i=0; i<splitStr.length; i++){
return splitStr[i];
}
}
console.log(combo("dog"));
Run Code Online (Sandbox Code Playgroud)
为什么循环不会返回所有三个字母?它打印"d"并停止.如果我从函数中取出循环,它就可以工作.
我究竟做错了什么?请解释.
我输入一个必须以三个大写字母开头并以四位数字结尾的字符串(如此:"SJL1036")该程序应该检查我的输入是否遵循该模型.
如果我要输入"Sjl1036"og"SJL103",它会输出它是一个虚假陈述.
因为我是perl的初学者,oracle sql和其他一切.我必须编写一个脚本来解析excel文件并将值写入oracle sql数据库.
到目前为止一切都很好.但它以随机顺序将行写入数据库.
for ($row_min .. $row_max) {...insert into db code $sheetValues[$_][col0] etc...}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么以随机顺序插入行?显然我怎样才能让它们按顺序排列?excel_row 0 => db_row 0等等...
数组中的值是有序的!行数是动态的.
感谢您的帮助,我希望您能获得所需的所有信息.
编辑:
&parseWrite;
sub parseWrite {
my @sheetValues;
my $worksheet = $workbook->worksheet(0);
my ($row_min, $row_max) = $worksheet->row_range();
print "| Zeile $row_min bis $row_max |";
my ($col_min, $col_max) = $worksheet->col_range();
print " Spalte $col_min bis $col_max |<br>";
for my $row ($row_min .. $row_max) {
for my $col ($col_min .. $col_max) {
my $cell = $worksheet->get_cell ($row,$col);
next unless $cell; …Run Code Online (Sandbox Code Playgroud) 所以假设我有一个迭代字符串列表的for循环.字符串列表就像
List<String> myString = {NEW ROW, cs, 1, 2, 3, NEW ROW, tp, 3, 4, 5}
Run Code Online (Sandbox Code Playgroud)
我希望for循环遍历列表并在每次NEW ROW出现在列表中之后删除NEW ROW和下一个x元素.
我怎样才能做到这一点?
我的尝试:
for (int index = 0; index < myList.size(); index++) {
if (myList.get(index).equals("NEW ROW")) {
for (int j = index; j < index + x; j++) {
myList.remove(j);
}
index = index + x;
}
}
Run Code Online (Sandbox Code Playgroud)
我的尝试不起作用.
#include <iostream>
using namespace std;
int main()
{
int lists[30];
lists[30] = 30;
lists[0] = 31;
cout << lists[30];
cout << "\n";
cout << lists[0];
for(int a = 0; a < lists[30]+lists[0]; a++)
{
cout << "\n";
cout << lists[2];
}
}
Run Code Online (Sandbox Code Playgroud)
在for循环之后,它应该只显示列表[2]的值61次; 列表[30] = 30并列出[0] = 31,所以组合它们是61. for循环中的表达式是否有效?它似乎永远循环.
在我的课程中,我需要动态地分配一个卡列表,但是这段代码有一行我不确定.
if (newPlayer)
{
cout << "Enter your name: ";
cin >> playerName;
newPlayer->nom = playerName;
newPlayer->nextPlayer= NULL;
newPlayer->cardsInHand= NULL;
if (playersList)
{
//this for I dont understand. How can a for loop become this and what does it does
for (p = playersList; p->nextPlayer; p = p->nextPlayer);
p->nextPlayer= newPlayer;
}
else
{
playerList= newPlayer;
newPlayer->nextPlayer= NULL;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个关于C#循环的问题.
我的代码:
for(i = 1; i < 100; i*=2)
{
Console.Write(i + " ");
}
Console.Readkey();
Run Code Online (Sandbox Code Playgroud)
我认为结果应该是"2 4 8 16 32 64",但我得到的是"1 2 4 8 16 32 64"."1"来自哪里?
我是C的新手,并不理解这种类型的for循环语法.
for(int i(9), j(0); i > j; i--, j++)
cout << i;
Run Code Online (Sandbox Code Playgroud)
这给出了98765的结果,但为什么呢?
我习惯了这样的循环:
for(int i = 9, int j = 0; i>j; i--, j++){
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
我看到我被初始化为9,j被初始化为0,但它是如何得到一个那么大的数字?
我有一个功能:
def getvalues():
global avalue
global bvalue
dictt = getresults()
for key , value in dictt.iteritems():
avalue = key
bvalue = dictt[key]
print avalue , bvalue
Run Code Online (Sandbox Code Playgroud)
这将输出avalue的值,bvalue输出:
C123 1
C245 2
C456 2
C565 3
C654 1
Run Code Online (Sandbox Code Playgroud)
但是,在for循环之外返回值不会重复执行。
def getvalues():
global avalue
global bvalue
dictt = getresults()
for key , value in dictt.iteritems():
avalue = key
bvalue = dictt[key]
return avalue , bvalue
Run Code Online (Sandbox Code Playgroud)
我需要在此函数之外使用avalue,bvalue。该怎么做?如果我使用return我得到的输出为
C654 1
Run Code Online (Sandbox Code Playgroud)
我需要上面带有所有可以在其他函数中使用的avalue和bvalue的相同输出