小丸子0072 2021-11-22 20:50 采纳率: 68.8%
浏览 75
已结题

有求必应,希望来看看这两题

输入星期中某一天对应的整数值1~7,输出该天对应的英文名称。
要求:将7个英文日期(Monday、Tuesday…Sunday)和错误日期英文提示(Wrong day)以字符串的形式存放到二维字符数组week[8][15]中,一行存放一个字符串。输入1-7中的某个数字时,输出对应的英文日期;输入非1-7中的数字时,一律输出Wrong day提示。

程序代码:
任务描述:给定一个班每个同学的性别,分别输出男女比例、男生学号和女生学号。
输入:第一行输入一个整数 n,0<n<50 表示班级人数。第二行中有 n 个 0(女生)或者 1(男生),表示按学号(从 1 号开始)顺序的每个同学性别。
输出:第一行输出男生与女生的比例,形式为 1:?。如果男女生相等,则输出 1:1;如果没有男生,输出性别为 0:1;如果没有女生,性别比输出 1:0,否则输出 1:?,结果保留 2 位小数。
第二行从小到大输出男生的学号,学号之间用空格分隔。如果没有男生则输出“no boys”。
第三行从小到大输出女生的学号,学号之间用空格分隔。如果没有女生则输出“no girls”。
输入举例:
10
1 0 0 1 0 0 1 1 0 1
输出举例:
1:1
1 4 7 8 10
2 3 5 6 9
程序代码:

  • 写回答

2条回答 默认 最新

  • 关注

    你题目的解答代码如下:

    #include <stdio.h>
    int main()
    {
        char s[8][50] = {"","Monday","Tuesday","Wensday","Turthday","Friday","Saturday","Sunday"};
        int n;
        scanf("%d",&n);
        if(n>=1 && n<=7)
            printf("%s",s[n]);
        else
            printf("Wrong day");
        return 0;
    }
    

    img


    第二题

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int n,i,a[501],b=0,g=0,d[501],c[501],j=1,k=1;
        double x;
        scanf("%d",&n);
        for(i=1;i<=n;i++){
            scanf("%d",&a[i]);
        }
        for(i=1;i<=n;i++){
            if(a[i]==0){
                d[k]=i;
                k++;
                g=g+1;
            }
            if(a[i]==1){
                c[j]=i;
                j++;
                b=b+1;
            }
        }
    
           if(g==0){
            printf("1:0\n");
        for(i=1;i<=n;i++){
            if(i==n){
                printf("%d",i);
            }
            else{
            printf("%d ",i);
            }
        }
        printf("\n");
        printf("no girls");
           }
            else if(b==0){
            printf("0:1\n");
            printf("no boys");
            printf("\n");
            for(i=1;i<=n;i++){
            if(i==n){
                printf("%d",i);
            }
            else{
            printf("%d ",i);
            }
        }
           }else{
               if(g==b){
                printf("1:1");
               }else{
             x=g*1.0/b;
             printf("1:%.2lf",x);
               }
               printf("\n");
             for(j=1;j<=b;j++){
                if(j==b){
                    printf("%d",c[j]);
                }else{
                    printf("%d ",c[j]);
                }
             }
             printf("\n");
             for(k=1;k<=g;k++){
                if(k==g){
                    printf("%d",d[k]);
                }
                else{
                    printf("%d ",d[k]);
                }
             }
    
           }
    
        return 0;
    }
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月11日
  • 已采纳回答 12月3日
  • 创建了问题 11月22日