《C語言及程式設計》實踐專案——一維陣列初步
【專案1 - 陣列大折騰】
(1)建立一個有20個元素的整型陣列,通過初始化,為陣列中的前10個元素賦初值,然後通過鍵盤輸入後10個元素的值,從前往後(從第0個到第19個)輸出陣列中元素的值,每5個元素換一行。
int main( )
{
int a[20]={...}; //初始化前10個元素
//鍵盤輸入後10個元素的值
//由前往後輸出陣列中所有元素的值
printf("由前往後,陣列中的值是:\n");
return 0;
}
(2)建立一個長度為10的整型陣列並初始化,由後往前(由第9個元素向第0個元素方向)輸出陣列中所有元素的值,改變陣列元素的值,令所有的資料加倍,輸出改變後的值。(3)建立一個長度為16的整型陣列a並初始化,先輸出陣列中元素值為3的倍數的數,再輸出所有下標為3的倍數的元素值。輸出如圖示。
(4)建立一個長度為16的整型陣列a並初始化,刪除陣列中所有能被3整除的元素(陣列中實際有效使用的元素將不足16),輸出刪除後陣列中的全部元素。
(5)建立一個長度為16的整型陣列a並初始化前15個元素,輸入一個整數b,將b插入到a[0]位置(原有的資料往後“移動”)。
[參考解答]
【專案2- 成績處理】
在陣列score中將要儲存某小組C程式設計的成績,請完成下面的處理:
(1)輸入小組人數及成績,要保證成績在0-100之間;
(2)輸出該小組的最高成績、最低成績、平均成績;
(3)輸出考得最高成績和最低成績的同學的人數;
(4)輸出考得最高成績和最低成績的同學的學號(設陣列下標即學號,可能有相同的成績)。
(5)(選做)求出所有同學成績的標準偏差,標準偏差公式為
提示1:可以採用“漸進式”策略,實現一個功能後除錯通過,再實現下一個功能。
提示2:介面參考見圖
提示3:請思考,如果這裡的同學人數很多,例如500、10000名,這個程式中通過鍵盤輸入的方式,已經顯得無能為力!如何解決?
[參考解答]int main() { int score[50]; //儲存成績的陣列,不會超過50名 int num,i; //小組人數 printf("小組共有多少名同學?"; scanf("%d", &num); printf("請輸入學生成績:\n") //輸入num名同學的成績 //求出並輸出最高成績、最低成績和平均成績 //求出並輸出考得最高成績和最低成績人數以及學號 //求出並輸出標準偏差(選做) return 0; }
【專案3-當年第幾天(陣列方案)】
當年第幾天中定義一個函式,其引數為年、月、日的值,返回這一天為該年的第幾天。要求在main函式中輸入年月日,然後呼叫這個函式求值,並在main函式中輸出結果。
#include<stdio.h>
int days(int y, int m, int d);
int main()
{
int year, month, day;
printf("輸入年 月 日: ");
scanf("%d %d %d", &year, &month, &day);
printf("這是該年的第 %d 天\n", days(year, month, day));
return 0;
}
int days(int y, int m, int d)
{
int dd[13]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
//請利用d陣列,10行之內,求出並返回y年m月d日是這一年的第幾天
}
[參考解答]
【專案4-一副撲克牌】
下面的程式,輸出了52張撲克牌(如圖),請補充完整程式。
#include <stdio.h>
int main( )
{
char c[4]= {'H','S','D','C'};
int v[13]= {1,2,3,4,5,6,7,8,9,10,11,12,13};
int i,j;
for(i=0; i<4; i++)
{
for(j=0; j<13; j++)
{
printf("%c",________);
if(v[j]==1)
printf("A");
else if(___________)
printf("J");
else if(v[j]==12)
______________;
else if(v[j]==13)
printf("K");
else
printf("%d",________);
printf(" ");
}
printf("\n");
}
return 0;
}
執行圖:注:H、S、D、C代表4種花色
[參考解答]【專案5 - 發獎金】
(1)過年了,村裡要慶祝一下。村長對村裡的128個村民說:做一個遊戲,讓每個人把出生年+月+日得到一個數。例如:1995年11月8日=1995+11+8=2014。然後把這個數報上來。村裡有一筆錢要作為遊戲的獎金,數額為M元(在程式中可以用常量固定為一個數)。如果有人報上來的數字與M相同,就把這筆錢發給這些人。如果只有一個人得獎,獎金都歸這個人。如果有多於一個人得獎,則他們平分這筆錢。現在讓我們來寫一段程式算算都有哪些人得到了獎金?得到多少?請寫出這個程式。
(2)有村民提出村長在幸運數字上做手腳,不公平。修改後的規則是:每人寫一個1000以內的數字,誰寫的數字與平均值最接近,M元的獎金就由誰拿,有多人與平均值差值相同,則均分。例如,參加的村民有5個人,報的數字分別為98、7、50、980、1,平均值為227(平均值也取成整數就行了),與98最接近,編號為0的村民得獎。這個遊戲實際上有很強的政治學背景,一種策略是串通,大家都報一樣的數,平分獎金;在每個人都想爭取最大利益的前提下,各人報的數字又對結果都有影響,這裡麵包含一系列非常有意思的研究課題。
提示:輸入資料後,用一次迴圈求和,進而求出平均值;再一次迴圈,求出最小的差值;再一次迴圈,將差值最小的村民的編號放入幸運陣列(因為可能不止一位,所以需要這個陣列)。[參考解答]
相關推薦
《C語言及程式設計》實踐專案——一維陣列初步
【專案1 - 陣列大折騰】(1)建立一個有20個元素的整型陣列,通過初始化,為陣列中的前10個元素賦初值,然後通過鍵盤輸入後10個元素的值,從前往後(從第0個到第19個)輸出陣列中元素的值,每5個元素換一行。int main( ) { int a[20]={...};
C語言及程式設計 實踐參考 迴圈的巢狀流程圖
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C語言及程式設計 實踐參考 分段函式求值switch語句版
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C語言及程式設計 實踐參考——個人所得稅計算器if語句版
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C語言及程式設計 實踐參考——定期存款利息計算器
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C語言及程式設計 實踐參考 迴圈的巢狀流程圖
迴圈的巢狀流程圖(1)求s=1!+2!+……10!,即求1到10的階乘和[參考解答]或者: (2)求s=1+2^2+3^3+4^4+5^5+6^6,要求n^n不能用求冪的運算直接計算(n^n表示n的n次方)[參考解答]
C語言及程式設計 實踐參考——學生成績統計
【專案1-學生成績統計】 每位同學的資訊學號、姓名、C、高數、英語成績。定義一個學生成績的結構體陣列,其中的資料成員包括學號(char num[13])、姓名(name)、三門課的成績(grade)、總分(score)、均分(average))。 (1)從鍵盤上輸入N
《C語言及程式設計》實踐專案——二維陣列與指標
【專案1-二維陣列當函式引數】定義一個函式來完成對引數陣列中元素的求和工作,函式宣告如下:int sum(int array[ ][4],int m,int n); //該函式完成對array陣列中的前m行和n列元素求和在以下程式的基礎上,完成對sum函式的定義。#include <stdio.h&g
《C語言及程式設計》實踐專案——二維陣列
【專案1-折騰二維陣列】建立一個5行4列的二維整型陣列,通過初始化,為陣列中的前兩列的10個元素賦初值,然後:通過鍵盤輸入,使後兩列的10個元素獲得值;按行序優先輸出陣列元素;將所有元素值乘以3後儲存在
《C語言及程式設計》實踐專案——利用switch語句解決問題
【專案1:投票表決器】設計一個投票表決器,其功能是:輸入Y、y,列印agree輸入N、n,列印disagree輸入其他,列印lose請在下面程式碼的基礎上,將程式補充完整#include <stdio.h> int main( ) { char c;
《C語言及程式設計初步》第四講實踐專案
編譯環境:Dev-C++ 5.63 //攝氏溫度轉換為華氏溫度 #include <stdio.h> int main() {float C,F;printf("請輸入攝氏溫度值:");s
《C語言及程式設計》實踐專案——用檔案輸入輸出初步
【專案1-由鍵盤到檔案】 (1)從鍵盤輸入一個檔名,以及一個以#結束的字元序列,將輸入的字元儲存到檔案中去。 #include "stdio.h" #include "stdlib.h" in
《C語言及程式設計初步》第36講實踐專案
專案1: #include <stdio.h> int main() { char c; int i; scanf("%d",&i); while(
《C語言及程式設計》實踐專案——發現Bug
【專案1-sin泰勒展式中的錯誤】下面是sin函式的泰勒展式:(注:x取弧度值,而非角度值)編寫了double mysin(double x)用於求sin值,卻“死”在了123°上。劇透一下,迴圈沒有問題(當然問題會表現在迴圈中)。試著用除錯工具找出問題出現在哪裡,然後給出解
《C語言及程式設計》實踐專案——連結串列初步
【專案1-連結串列的合併】 輸入一個整數m,表示A連結串列的長度,再輸入m個數作為A連結串列中的m個數據元素,建立連結串列A,其頭指標為heada。輸入一個整數n,表示B連結串列的長度,再輸入n個
《C語言及程式設計》實踐參考——二分法解方程
【專案2-二分法解方程】 二分法是在電腦科學中很重要的一種方法,用於查詢產生二分查詢演算法,還可以用在很多場合。 可以用二分法解方程。 對於區間[a,b]上連續不斷且f(a)·f(b)<0的
《C語言及程式設計》實踐參考——迴圈的巢狀流程圖
迴圈的巢狀流程圖(1)求s=1!+2!+……10!,即求1到10的階乘和[參考解答]或者: (2)求s=1+2^2+3^3+4^4+5^5+6^6,要求n^n不能用求冪的運算直接計算(n^n表示n的n次
《C語言及程式設計》實踐參考——三色球問題
【專案6-三色球問題】若一個口袋中放有12個球,其中有3個紅的。3個白的和6個黒的,問從中任取8個共有多少種不同的顏色搭配?提示:設任取的紅球個數為i,白球個數為j,則黒球個數為8-i-j,根據題意紅球
《C語言及程式設計》實踐參考——矩陣運算
【專案2-矩陣運算】 在數學中,一個矩陣由若干行和若干列資料組成,可以直接儲存為一個二維陣列。(1)矩陣相加 兩個矩陣相加,要求其行、列數均相等。運算規則為:一個n行m列的矩陣A加上另一個n行m列的
《C語言及程式設計》實踐參考——簡單迴圈的流程圖
簡單迴圈的流程圖(提示:m是一個變數,在程式中輸入)(1)求1到m的倒數和,即 [參考解答](2)求1到m的平方和[參考解答](3)求1到m間所有奇數的和[參考解答](4)求值: [參考解答](5)