问题:
break中断整个循环;continue中断本次循环;
在循环中如果想要一个数再循环一次,可以采用(i--)d的方式。
else if(b[i]>a[j])
{
b[i]=b[i]-a[j];
ans++;
j--;
}
3 1 2 3 0
4
代码:
菜:
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner cin=new Scanner(System.in);
int n;
int a[]=new int[100];
while(cin.hasNext()){
n=cin.nextInt();
if(n==0)
break;
else{
for(int i=0;i<n;i++)
a[i]=cin.nextInt();
int m,sum=0;
for(int i=0;i<n;i++){
if(a[i]>=100)
{
sum+=a[i]/100;
if(a[i]%100==0)
continue;
else
{a[i]=a[i]%100;
i--;
}
}
else if(a[i]>=50)
{
sum+=a[i]/50;
if(a[i]%50==0)
continue;
else
{a[i]=a[i]%50;
i--;
}
}
else if(a[i]>=10)
{
sum+=a[i]/10;
if(a[i]%10==0)
continue;
else
{a[i]=a[i]%10;
i--;
}
}
else if(a[i]>=5)
{
sum+=a[i]/5;
if(a[i]%5==0)
continue;
else
{a[i]=a[i]%5;
i--;
}
}
else if(a[i]>=2)
{
sum+=a[i]/2;
if(a[i]%100==0)
continue;
else
{a[i]=a[i]%2;
i--;
}
}
else
sum+=a[i]/1;
}
System.out.println(sum);
}
}
}
}
import java.util.*;
public class Main1 {
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int n;
int ans;
int[] a={100,50,10,5,2,1};
int[] b=new int[105];
while(cin.hasNext())
{
ans=0;
n=cin.nextInt();
if(n==0)
break;
for(int i=0;i<n;i++)
b[i]=cin.nextInt();
for(int i=0;i<n;i++)
{
for(int j=0;j<6;j++)
{
if(b[i]==a[j])
{
ans++;
break;
}
else if(b[i]>a[j])
{
b[i]=b[i]-a[j];
ans++;
j--;
}
else
continue;
}
}
System.out.println(ans);
}
}
}
原文地址:http://blog.csdn.net/amx50b/article/details/45828337