字符串排序 星期几换算

发布时间 2023-11-18 22:08:36作者: 鸢凛

7-5 字符串排序

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。

输入格式:

输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。

输出格式:

按照以下格式输出排序后的结果:

After sorted:
每行一个字符串

输入样例:

red yellow blue black white

输出样例:

After sorted:
black
blue
red
white
yellow

解题思路:

  1.读入需要处理的字符串,循环使用strcmp函数来进行比较,逐步把排序靠前的字符串往前移动

#include <stdio.h>
#include <string.h>
void swap( char str1[], char str2[] );

int main(){
    char str[5][80];
    int i, j;
    for(i=0; i<5; i++ ){
        scanf(" %s", &str[i]);
    }
    for(i=0; i<4; i++ ){
        int min = i;
        for(j=i+1; j<5; j++ ){
            if(strcmp(str[min], str[j]) > 0 ){
                min = j;
            }
        }
        if(min != i ){
            swap(str[min], str[i]);
        }
    }
    printf("After sorted:\n");
    for( i=0; i<5; i++ ){
        printf("%s\n", str[i]);
    }
    return 0;
}

void swap(char str1[], char str2[] ){
    char temp[80];
    strcpy(temp, str1);
    strcpy(str1, str2);
    strcpy(str2, temp);
}

7-3 星期几换算

今天是周六,又到了可以休息的日子了,7天后又会是一个周六。请你帮忙计算下,n(n为整数,可以是正也可以为负)天后会是星期几呢?

输入格式:

输入天数

输出格式:

输出星期几

输入样例1:

8

输出样例1:

星期日

输入样例2:

-2

输出样例2:

星期四

解题思路:

  1.读入输入的数字,判断输入的数字,将它的属性result判断

  2.输入数字>=7,则将该数字%7得到它的余数存入result

  3.输入数字<0,则将该数字循环+7直到它大于0,将其结果存入result

  4.输入数字>0且<7,则不处理该数字存入result

  5.判断该数字,由于今天是周六,则

    result=0:星期六

    result=1:星期日

    result=2:星期一

    result=3:星期二

    result=4:星期三

    result=5:星期四

    result=6:星期五

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int day = in.nextInt();
        int result = day;
        String week = "";
        if(day>=7){
            result = result%7;
        }else if(day<0){
            while (true){
                if(result<0) {
                    result = 7 + result;
                }else {
                    break;
                }
            }
        }
        switch (result){
            case 0:week = "星期六";break;
            case 1:week = "星期日";break;
            case 2:week = "星期一";break;
            case 3:week = "星期二";break;
            case 4:week = "星期三";break;
            case 5:week = "星期四";break;
            case 6:week = "星期五";break;
        }
        System.out.println(week);
    }
}