鱼C论坛

 找回密码
 立即注册
查看: 2624|回复: 4

找出不及格课程的学生及学号

[复制链接]
发表于 2020-3-1 22:30:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

#include <stdio.h>

int *search(int (*p)[4]);

void main()
{
        int score[][4] = {{60,81,52,53},{64,85,86,77},{68,89,90,81}};
        int *p;
        p = search(score);
        printf("不及格学生的序号为:%d\n",(p-score)/sizeof(p));
}

int *search(int (*p)[4])
{
        int *pt;
        int i,j;
        for(i = 0;i < 3;i++)
        {
                for(j = 0;j < 4;j++)
                {
                        if(*(*(p+i)+j) < 60)
                        {
                                pt = *(p + i);
                        }
                }
        }
        return pt;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-2 21:37:19 | 显示全部楼层
注意一下代码的格式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 15:32:09 | 显示全部楼层

代码格式?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-22 18:02:16 | 显示全部楼层
#include<stdio.h>
extern void *search(double(*p)[4]);


void main()
{
        int i, j;
        double (*p)[4];
        double a[4][4] = { {88,58,96,36},{76,81,36,94},{25,38,67,91},{68,81,32,20} };
        search(a);
        p = a;
        for (i = 0; i < 4; i++)
        {
                for (j = 0; j < 4; j++)
                {
                        if (*(*(p+i)+j)< 60&& *(*(p + i) + j) >0)
                        {
                                printf("No.%d  %d score %lf is failed\n", i+1, j+1, *(*(p + i) + j));
                                continue;
                        }
                }
        }
}



void  search(double (*p)[4])
{
        int i, j;
        double (*s)[4] ,b[4][4]= {0};
        s = b;
        for (i = 0; i < 4; i++)
        {
                for (j = 0; j < 4; j++)
                {
                        if (*(*(p+i)+j)< 60)
                        {
                                *(*(s+i)+j)= *(*(p + i) + j);

                        }
                        *(*(p + i) + j) = *(*(s + i) + j);
                }
        }
       
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-22 00:49:53 | 显示全部楼层
本帖最后由 lilingjie 于 2022-1-22 00:51 编辑

#include "stdio.h"

int search(double (*pointer)[4],int m);

int main(){
    //score数组里的成绩是乱打的,所以我的不及格分数定了20
    double score[][4] = {{122.0,23.0,456.0,42.0},
                         {12.0,56.0,13.0,321.0},
                         {231.0,545.0,31.0,23.0},
                         {123.0,156.0,12.0,31.0},
                         {231.0,51.0,23.0,13.0}};

    for(int i = 0 ;i <5 ; i++){
        //search函数会传回来一个值,为0或为1,为1就证明不及格,打印出来。
        if(search(score,i)){
            printf("Students with serial number %d fail\n",i);
        }
    }
    return 0;
}
int search(double (*pointer)[4],int m){
    //j是用来循环出4科成绩进行判断是否低于20(不及格),l用来传真假,低于20,就给l赋值1,1的意思就是这组成绩里有不及格的意思
    int j,l = 0;
    for ( j = 0; j < 4; ++j) {
        double z = *(*(pointer+m)+j);
        if(z<20){
            l = 1;
        }
    }
    return l;
}

不知道怎么用指针函数返回指针来判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-29 10:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表