gpt4 book ai didi

c - 将小尺寸的盒子放在大尺寸的盒子里

转载 作者:行者123 更新时间:2023-11-30 19:45:41 25 4
gpt4 key购买 nike

#include<stdlib.h>
#include <stdio.h>
int main()
{
int T,N,a;
scanf("%d\n",&T); //test cases
int A[T];

for(int i=0;i<T;i++) {
scanf("%d\n",&N); //number of box in a test case
int X[N];
for(int j=0;j<=N-1;j++)
scanf("%d\n",&X[j]);

a=N;
for(int k=0,l=0;l<(a-1);l++) {
if(X[k]<X[++k])
N=N-1;
}
A[i]=N;
}

for(int i=0;i<T;i++)
printf("%d\n",A[i]);

system("pause");
return 0;
}


该代码在程序末尾要求额外的输入,然后显示输出。但是,它永远不会考虑我提供的最后输入,而且我也不需要该输入。我可以对此进行哪些更改,因此不会要求额外的输入。

最佳答案

\n格式字符串的末尾不需要scanf。只需在所有"%d\n"调用中将"%d"更改为scanf

scanf在格式字符串中遇到空格字符(包括'\n')时,它将跳过所有空格,直到遇到非空格字符。如果尚未输入另一个非空格字符,它将等待您输入一个。因此,如果您这样做scanf

int x;
scanf("%d\n", &x);


...,然后在键盘上键入 5<Enter>,scanf将 x设置为 5,然后等待您输入另一个非空格字符,因为您已告诉它将数字值读入 x然后跳过任何/所有空格,直到遇到下一个非空格字符。

关于c - 将小尺寸的盒子放在大尺寸的盒子里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26003757/

25 4 0