我试图解决CodeWars上的一个问题,我发现数组中的数字最小.这是我目前的代码:
public class SmallestIntegerFinder {
public int findSmallestInt(int[] args){
int smallest = args[0];
for(int i=1; i < args.length; ++i){
if(args[i] < args[0]){
smallest = args[i];
}
}
return smallest;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?但是,当我改变[0] ARGS中,如果声明变量最小它的工作原理.这两者有什么区别?他们都指向args [0]不是吗?
public class SmallestIntegerFinder {
public int findSmallestInt(int[] args){
int smallest = args[0];
for(int i=1; i < args.length; ++i){
if(args[i] < smallest){
smallest = args[i];
}
}
return smallest;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用的测试数组是:{78,56,232,12,11,43}
我有一个包含多行的文件,每行都有一个数字,后跟一个空格,然后是一个字符串.但是文件中的某些行在数字后面没有字符串.这是文件的一部分:
10
17
38所以你想成为一个摇滚明星
22你见过她的面孔
12 CTA - 102
16文艺复兴时期的博览会
12时间
23每个人都被烧了
18个想法和文字
12心灵花园
13我的背页
21女孩与没有名字
3为什么
19它每天都会发生
16不要制造波浪
13我的背页
12心灵花园
11女士朋友
18老约翰罗伯逊
19
13冰淇淋男子
14挂在斜坡上
这是我到目前为止:
#include <stdio.h>
typedef struct
{
int num_tracks;
char tracks[];
}album_store;
int main(int argc, char *argv[])
{
album_store album[10000];
int numb_tracks;
char line;
int i=0;
if (argc <2 )
{
printf("You need at least one argument\n");
}
else
{
FILE *file;
file=fopen(argv[1],"r");
while(fscanf(file,"%d %[^\n]",&numb_tracks,album[i].tracks) != EOF)
{
album[i].num_tracks=numb_tracks;
printf("%d %s\n",album[i].num_tracks,album[i].tracks);
i++;
}
}
} …Run Code Online (Sandbox Code Playgroud)