tft每日頭條

 > 圖文

 > c語言怎麼求分數段人數

c語言怎麼求分數段人數

圖文 更新时间:2024-12-22 12:01:09

系列文章《C語言經典100例》持續創作中,歡迎大家的關注和支持。

喜歡的同學記得點贊、轉發、收藏哦~

後續C語言經典100例将會以pdf和代碼的形式發放到公衆号

歡迎關注:計算廣告生态 即時查收

1 題目

函數:search()

功能:查找成績不及格的學生

描述:有 4 名學生的成績,找出至少有一科不及格的學生,并将成績列表輸出(規定60以下為不及格)

目标:重點理解 int (*p)[N] 的使用方法

c語言怎麼求分數段人數(C語言100題集合022-查找成績不及格的學生)1

2 思路

int*p[5] 和 int(*p)[5] 的區别

  • int *p[5],首先它是一個數組,它的大小是5,p裡面存放的數據都是類型是int *,也就是整型指針。 所以它叫指針數組。
  • int (*p)[5],首先p是一個指針,指向大小為5的數組,因此這叫數組指針。通常用在二維數組的操作上注意指針的類型,從 int(*p)[5] 可以看到, p 的類型不是int *, 而是 int(*)[5],p 被定義為指向一維數組的指針變量,裡面有 5 個元素,因此,p 的基類型是一維數組,長度為 20 字節。*(p 2) 3, 括号中的 2 是指的以 p 的基類型(一維整型數組)的長度為單位的,即,p 每增加 1,地址就增加 20 個字節(5 個元素,每個元素4個字節)。而 *(p 2) 3 括号外的數字 3,不是以 p 的基類型的長度為單位的,而是一維數組的下一個位置
  • 先看一個簡單的引例

#include <stdio.h> void search(float (*p)[4], int n) { printf("序号為 %d 的學生的成績:\n", n); for (int i = 0; i < 4; i) { printf("%5.2f ", *(*(p n) i)); } } int main(int argc, char const *argv[]) { float score[3][4]={{60,75,82,91},{75,81,91,90},{51,65,78,84}}; search(score, 2); // 計算得出序号為 2 的學生的成績 getchar(); } ~~~~~~~~~~~操作結果~~~~~~~~~~~~ $ gcc ex022-1.c -o demo ./yaojianguodeMacBook-Pro:C語言100題集合代碼 yaojianguo$ ./demo 序号為 2 的學生的成績: 51.00 65.00 78.00 84.00

3 代碼

#include<stdio.h> #include<stdlib.h> #defineN5 /** 函數:search() 功能:查找成績不及格的學生 描述:有4名學生的成績,找出至少有一科不及格的學生,并将成績列表輸出(規定60以下為不及格) **/ int*search(int(*p)[N]){ int*pt=*(p 1); for(inti=0;i<4; i){ if(*(*(p 0) i)<60){//這塊可以寫成*(*p i)<60,也就是平常看到了*(*(p m) n))來取到二維數組中列向的值 pt=*p; } } returnpt; } intmain(intargc,charconst*argv[]){ int*p; intscore[][N]={{60,75,82,91},{75,81,91,90},{51,65,78,84},{65,72,78,72},{75,70,98,92}};//四個學生的成績 for(inti=0;i<N; i){ p=search(score i); if(p==*(score i)){ printf("成績不及格學生的成績分别是:\n"); for(intj=0;j<4; j){ printf("%d",*(p j)); } } } getchar(); }

示例結果:

$gccex022.c-odemo $./demo 成績不及格學生的成績分别是: 51657884

--END--

喜歡本文的同學記得點贊、轉發、收藏~

更多内容,歡迎大家關注我們的公衆号:計算廣告生态

後續C語言經典100例将會以pdf和代碼的形式發放到公衆号

同時也帶來更多系列文章以及幹貨❤️!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved