1.图片处理
题目描述
Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。
输入描述:
Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。
输出描述:
Lily的所有图片按照从小到大的顺序输出
示例1
输入
Ihave1nose2hands10fingers
输出
0112Iaadeeefghhinnnorsssv
解法1:通过冒泡比较来实现排序过程
import java.util.Scanner;
public class Text2 {
/*
* 注意:1:不加sc.hasNext()为错误,因为它可能是持续输入
* 2:结尾处不加System.out.println();也是通不过测试用例的
* */
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String str=sc.nextLine();
char arr[]=str.toCharArray();
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
char temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]);
}
System.out.println();
}
}
}
解法2:通过Arrays.sort方法来实现
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String s = in.nextLine();
char [] str = s.toCharArray();
Arrays.sort(str);
System.out.println(str);
}
}
}
2.挑7
题目描述
输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数
输入描述:
一个正整数N。(N不大于30000)
输出描述:
不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.
示例1
输入
20
输出
3
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int cur=0;
for(int i=1;i<=n;i++){
if(i%7==0){
cur++;
//执行continue后就不会执行本次while后面的语句了,保证不重复
continue;
}
int j=i;
while(j!=0){
int temp=j%10;
if(temp==7){
cur++;
break;
}
j=j/10;
}
}
System.out.println(cur);
}
}
}