台灣最大程式設計社群網站
線上人數
2156
 
會員總數:241182
討論主題:186829
歡迎您免費加入會員
討論區列表 >> C/C++ >> 我是新手,想請問各位大大關於迴圈的問題
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
我是新手,想請問各位大大關於迴圈的問題
價值 : 200 QP  點閱數:206 回應數:6

樓主

翔翔
門外漢
0 2
27 1
發送站內信

大家好,在下是學生
趁著暑假學習C語言半個月了

有個我無法完成的題目
如下:




首先會要你輸入幾個人
有多少人就該有多少筆資料
最後把每筆資料排列好

我目前寫的:

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
int a,d,e,f;
char b[20],c[20];
float g;

printf("範例2 Class:電子二C ID:D1044173051 Name:李宇翔\n");

printf("How many students in class:\n");
scanf("%d",&a);

int i=1,sum=0;
while(sum<=a)
{
sum+=i;
printf("Name of student:\n");
scanf("%s",&b);

printf("ID of student(Dxxxxxxxxxx):\n");
scanf("%s",&c);

printf("score1 of student:\n");
scanf("%d",&d);

printf("score2 of student:\n");
scanf("%d",&e);

printf("score3 of student:\n");
scanf("%d",&f);

i++;
}

float h=d;
float K=e;
float j=f;

g=(h+K+j)/3;

printf("Name ID Score1 Score2 Score3 Average\n");
printf("%s %s %d %d %d %.2f\n",b,c,d,e,f,g);


system("pause");
return 0;


}


我不曉得該怎麼抓到每一筆迴圈內由scanf輸入的資料
因為每次跑迴圈時scanf裡的資料都會新的蓋掉
我只能抓到最後一筆的資料
前面的都沒辦法
卡了好幾天了

搜尋相關Tags的文章: [ 迴圈 ] , [ scanf ] , [ ] ,
本篇文章發表於2017-07-12 00:12
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

Daimom
捐贈 VP 給 Daimom 檢舉此回應
會蓋掉的話就提早取出,
試試用array,在迴圈內將值存入。
迴圈外,再將值一次印出
本篇文章回覆於2017-07-12 08:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

小魚
檢舉此回應
你可以建一個class,
用來放單個學生的資料跟成績等,
然後用class 的 Array來接這些資料,
輸入完一個學生的資料就Add一筆進去,
我是習慣自己寫陣列,
不過對你來說可能太難了...
本篇文章回覆於2017-07-12 12:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

淺水員
檢舉此回應
To:小魚
這邊問的是 C 語言不是 C++ 喔
所以沒有 class

回原本的問題
如 1F 所說,因為需要把資料先儲存再印出
所以會需要用到陣列
下面是簡單的範例,可以從這邊去改
未來如果學到 struct 的話會更好處理


本篇文章回覆於2017-07-12 13:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小魚
檢舉此回應
To 淺水員:
照這樣子看來,
C語言要實作物件導向似乎會比較困難,
而且Struct似乎只能宣告結構無法實作一些方法(函數),
那為什麼還要學C語言?
本篇文章回覆於2017-07-14 07:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
C本來就不是物件導向語言拉。
而且C通常就偏底層了,為了效能考量。
本篇文章回覆於2017-07-14 15:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

淺水員
檢舉此回應
那為什麼還要學C語言?

這問題也滿有趣的,以學習的角度來說我有回應在另一篇了。而實用的角度來說,google 也能找到不少資料。
不過我好像沒特定要用哪個。
對我來說用C語言,多半是處理一些運算或是文字檔案。
C++是為了用他的SDL(懶得自己做)或是做一些需要封裝成物件的事情。
我是覺得都學有好處啦!只是初學要一步一步來
本篇文章回覆於2017-07-16 02:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.