gpt4 book ai didi

c++ - 第二次调用时 cin.getline () 不工作

转载 作者:行者123 更新时间:2023-11-28 07:36:42 25 4
gpt4 key购买 nike

<分区>

在此代码中,getline 不适用于 i =1。但对于 i = 0,它工作得很好。我应该做什么来重复使用 getline 函数。这段代码接受一个数字并检查它的可分性。“numb”被用来存储数字。对于 i = 0,所有的计算都很好,但是当它进行第二轮时,不知道会发生什么,但 cin.getline 不起作用。

#include <iostream>
#include <cstring>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#define MAX 1050
using namespace std ;

int call_div (char *num ,long div)
{
int len =strlen (num) ;
int now ;
long extra ;
for (now = 0,extra=0; now < len; now += 1)
{
extra = extra *10 + (num [now] -'0') ;
extra = extra %div ;
}
return extra ;
}

int main (int argc, char const* argv[])
{
int testcase,numbers ,flag =0;
char numb[MAX] ;
cin >> testcase ;
getchar() ;


for (int i = 0; i < testcase; i += 1)
{
cout << i << endl ;

int div[14] ;
cin.getline(numb) ; // i= 0 ,it works fine ,i=1 ,it doesn't work
cin >> numbers ;

for (int j = 0; j < numbers; j += 1)
{
cin >> div[j] ;
}
for (int k = 0; k < numbers; k += 1)
{

// cout << div[k]<< ' ' << call_div (numb,div[k]) << endl ;
if (call_div (numb,div[k])==0)
{
flag = 1 ;
}
else {
flag = 0 ;
break;
}
}
if (flag==0 )
{
cout << "simple"<< endl ;
}
else
cout << "wonderful" << endl ;

}
return 0;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com