1
實 實
驗
報
告
課程名稱:C 語言程序開發 學生姓名:
學生學號:
專業班級:
指導教師:
實驗日期:
2 目
錄
實驗 一
循環結構程序設計
?。ㄒ唬┣?1+2+3+.......+100, ??1100nn (二)輸出 100~200 之間的不能被 3 整除的數。
實驗 二
數組及其應用
?。ㄒ唬┯幸粋€ 3×4 的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。
?。ǘ┹斎胍恍凶址?,統計其中有多少個單詞,單詞之間用空格分隔開。
實驗 三
函數及其應用
?。ㄒ唬┯?5 個學生坐在一起,問第 5 個學生多少歲,他說比第 4 個學生大 2 歲。問第 4 個學生歲數,他說比第 3 個學生大 2 歲。問第 3 個學生,又說比第 2 個學生大 2 歲。問第 2 個學生,說比第 1 個學生大2 歲。最后問第 1 個學生,他說是 10 歲。請問第 5 個學生多大。
?。ǘ┯眠x擇法對數組中 10 個整數按由小到大排序,一維數組名作函數參數。
實驗 四
指針及其應用
?。ㄒ唬⑷舾勺址醋帜疙樞颍ㄓ尚〉酱螅┹敵觥?/p>
(二)有 a 個學生,每個學生有 b 門課程的成績。要求在用戶輸入學生序號以后,能輸出該學生的全部成績。用指針函數來實現。
3 實驗 一
循環結構程序設計
實驗題目:
(一)求 1+2+3+.......+100, ??1100nn (二)輸出 100~200 之間的不能被 3 整除的數。
實驗目的 1.掌握循環語句的執行過程及用法 2.初步掌握循環程序設計的基本技巧 3.掌握用 while 語句,do-while 語句和 for 語句實現循環的方法 4.掌握多重循環的使用 (一)實驗步驟 1.題目分析 2. 源程序代碼 3.運行結果 (二)實驗步驟:
1.題目分析 源程序代碼 3.運行結果
4 實驗 二
數組及其應用
實驗題目:
?。ㄒ唬┯幸粋€ 3×4 的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。
?。ǘ┹斎胍恍凶址?,統計其中有多少個單詞,單詞之間用空格分隔開。
實驗目的 1.掌握一維數組的定義及其元素的引用方法 2.掌握利用一維數組實現一些常用算法的基本技巧 3.掌握二維數組的定義及其應用 4.掌握字符數組和字符串函數的使用 5.掌握有關二維數組的基本編程技巧 (一)實驗步驟:
1.題目分析 2. 源程序代碼:
3.運行結果 (二)實驗步驟:
1.題目分析 2.源程序代碼 3.運行結果
5 實驗 三
函數及其應用
實驗題目:
?。ㄒ唬┯?5 個學生坐在一起,問第 5 個學生多少歲,他說比第 4 個學生大 2 歲。問第 4 個學生歲數,他說比第 3 個學生大 2 歲。問第 3 個學生,又說比第 2 個學生大 2 歲。問第 2 個學生,說比第 1 個學生大2 歲。最后問第 1 個學生,他說是 10 歲。請問第 5 個學生多大。
?。ǘ┯眠x擇法對數組中 10 個整數按由小到大排序,一維數組名作函數參數。
實驗目的 1.掌握函數的定義及其調用方法 2.掌握函數實參與形參的對應關系,了解“值傳遞”與“地址傳遞”的概念 3.掌握函數的嵌套調用和遞歸調用的方法 4.初步學會使用函數進行程序設計的基本方法 (一)實驗步驟:
1.題目分析 2. 源程序代碼:
3.運行結果 (二)實驗步驟 1. 題目分析 2. 源程序代碼 3.運行結果
6 實驗 四
指針及其應用
實驗題目:
?。ㄒ唬⑷舾勺址醋帜疙樞颍ㄓ尚〉酱螅┹敵?。
(二)有 a 個學生,每個學生有 b 門課程的成績。要求在用戶輸入學生序號以后,能輸出該學生的全部成績。用指針函數來實現。
實驗目的 1. 掌握指針的概念,會定義和使用指針變量 2. 掌握數組的指針及其基本用法 3. 掌握指針變量函數作參數時,參數的傳遞過程及其用法 4. 掌握字符串的指針及其用法 5. 掌握函數的指針及其用法
?。ㄒ唬嶒灢襟E:
1.題目分析 2. 源程序代碼:
3.運行結果 (二)實驗步驟:
1.題目分析 3. 源程序代碼:
3.運行結果
7
實 實
驗
報
告
課程名稱:C 語言程序開發 學生姓名:
學生學號:
專業班級:
指導教師:
實驗日期:
8 目
錄
實驗 一
循環結構程序設計
?。ㄒ唬┣?1+2+3+.......+100, ??1100nn (二)輸出 100~200 之間的不能被 3 整除的數。
實驗 二
數組及其應用
?。ㄒ唬┯幸粋€ 3×4 的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。
?。ǘ┹斎胍恍凶址?,統計其中有多少個單詞,單詞之間用空格分隔開。
實驗 三
函數及其應用
(一)有 5 個學生坐在一起,問第 5 個學生多少歲,他說比第 4 個學生大 2 歲。問第 4 個學生歲數,他說比第 3 個學生大 2 歲。問第 3 個學生,又說比第 2 個學生大 2 歲。問第 2 個學生,說比第 1 個學生大2 歲。最后問第 1 個學生,他說是 10 歲。請問第 5 個學生多大。
(二)用選擇法對數組中 10 個整數按由小到大排序,一維數組名作函數參數。
實驗 四
指針及其應用
?。ㄒ唬⑷舾勺址醋帜疙樞颍ㄓ尚〉酱螅┹敵?。
?。ǘ┯?a 個學生,每個學生有 b 門課程的成績。要求在用戶輸入學生序號以后,能輸出該學生的全部成績。用指針函數來實現。
9 實驗 一
循環結構程序設計
實驗題目:(一)求 1+2+3+.......+100, ??1100nn (二)輸出 100~200 之間的不能被 3 整除的數。
實驗目的 1.掌握循環語句的執行過程及用法 2.初步掌握循環程序設計的基本技巧 3.掌握用 while 語句,do-while 語句和 for 語句實現循環的方法。
4.掌握多重循環的使用 (一)實驗步驟 1.題目分析
10 3. 源程序代碼 #include<stdio.h> int main() {
int i=1,sum=0;
//定義變量 i 的初值為 1,sum 的初值為 0
while(i<=100)
//當 i>100,條件表達式 i<=100 的值為假,不執行循環體
{
//循環體開始
sum=sum+i;
//第 1 次累加后,sum 的值為 1
i++;
//加完后,i 的值加 1,為下次累加做準備
}
//循環體結束
printf("sum=%d\n",sum); //輸出 1+2+3…+100 的累加和
return 0; } 3.運行結果
11 (二)實驗步驟:
1.題目分析
2. 源程序代碼 #include <stdio.h> int main() { int n;
for (n=100;n<=200;n++)
{ if (n%3==0)
continue;
printf("%d ",n);
}
printf("\n");
return 0; }
3.運行結果
12 實驗 二
數組及其應用
實驗題目:
(一)有一個 3×4 的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。
?。ǘ┹斎胍恍凶址?,統計其中有多少個單詞,單詞之間用空格分隔開。
實驗目的 1.掌握一維數組的定義及其元素的引用方法 2.掌握利用一維數組實現一些常用算法的基本技巧 3.掌握二維數組的定義及其應用 4.掌握字符數組和字符串函數的使用 5.掌握有關二維數組的基本編程技巧 (一)實驗步驟:
1.題目分析 先思考一下在打擂臺時怎樣確定最后的優勝者。先找出任一人站在臺上,第 2 人上去與之比武,勝者留在臺上。再上去第 3 人,與臺上的人(即剛才的得勝者)比武,勝者留臺上,敗者下臺。以后每一個人都是與當時留在臺上的人比武。直到所有人都上臺比過為止,最后留在臺上的就是冠軍。
13
3. 源程序代碼:
#include <stdio.h> int main() { int i,j,row=0,colum=0,max;
int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
//定義數組并賦初值
max=a[0][0];
//先認為 a[0][0]最大
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)//如果某元素大于 max,就取代 max 的原值
{ max=a[i][j];
row=i;
//記下此元素的行號
colum=j;
//記下此元素的列號
}
printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);
return 0; }
14 3.運行結果
(二)實驗步驟:
1.題目分析 string:用于存放字符串。
i:計數器,用于遍歷字符串中的每個字符。
word:用于判斷是否開始了一個新單詞的標志。若 word=0 表示未出現新單詞,如出現了新單詞,就把 word 置成 1。
num:用于統計單詞數。
15 2.源程序代碼 #include <stdio.h> int main() {
char string[81];
int i,num=0,word=0;
char c;
gets(string); //輸入一個字符串給字符數組 string
for(i=0;(c=string[i])!="\0";i++)
//只要字符不是"\0"就循環
if(c==" ") word=0;
//若是空格字符,使 word 置 0
else if(word==0) //如果不是空格字符且 word 原值為 0
{ word=1;
//使 word 置 1
num++;
//num 累加 1,表示增加一個單詞
}
printf("There are %d words in this line.\n",num);
//輸出單詞數
return 0; }
16 3.運行結果
17 實驗 三
函數及其應用
實驗題目:
(一)有 5 個學生坐在一起,問第 5 個學生多少歲,他說比第 4 個學生大 2 歲。問第 4 個學生歲數,他說比第 3 個學生大 2 歲。問第 3 個學生,又說比第 2 個學生大 2 歲。問第 2 個學生,說比第 1 個學生大2 歲。最后問第 1 個學生,他說是 10 歲。請問第 5 個學生多大。
?。ǘ┯眠x擇法對數組中 10 個整數按由小到大排序,一維數組名作函數參數。
實驗目的 1.掌握函數的定義及其調用方法 2.掌握函數實參與形參的對應關系,了解“值傳遞”與“地址傳遞”的概念 3.掌握函數的嵌套調用和遞歸調用的方法 4.初步學會使用函數進行程序設計的基本方法 (一)實驗步驟:
1.題目分析
18 3. 源程序代碼:
#include <stdio.h> int main() { int age(int n);
//對 age 函數的聲明
printf("NO.5,age:%d\n",age(5));
//輸出第 5 個學生的年齡
return 0; }
int age(int n)
//定義遞歸函數 { int c;
//c 用作存放函數的返回值的變量
if(n==1)
//如果 n 等于 1
c=10;
//年齡為 10
else
//如果 n 不等于 1
c=age(n-1)+2;
//年齡是前一個學生的年齡加2(如第4 個學生年齡是第 3 個學生年齡加 2)
return(c);
//返回年齡 } 3.運行結果
19 (二)實驗步驟 3. 題目分析
4. 源程序代碼 #include <stdio.h> int main() { void sort(int array[],int n);
int a[10],i;
printf("enter array:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10); //調用 sort 函數,a 為數組名,大小為 10
printf("The sorted array:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0; }
20
void sort(int array[],int n) { int i,j,k,t;
for(i=0;i<n-1;i++)
{ k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k]; array[k]=array[i]; array[i]=t;
} } 3.運行結果
21 實驗 四
指針及其應用
實驗題目:(一)將若干字符串按字母順序(由小到大)輸出。
?。ǘ┯?a 個學生,每個學生有 b 門課程的成績。要求在用戶輸入學生序號以后,能輸出該學生的全部成績。用指針函數來實現。
實驗目的 6. 掌握指針的概念,會定義和使用指針變量 7. 掌握數組的指針及其基本用法。
8. 掌握指針變量函數作參數時,參數的傳遞過程及其用法 9. 掌握字符串的指針及其用法 10. 掌握函數的指針及其用法
(一)實驗步驟:
1.題目分析
22 4. 源程序代碼:
#include <stdio.h> #include <string.h> int main() { void sort(char *name[],int n);
//函數聲明
void print(char *name[],int n); //函數聲明
char *name[]={"Follow me","BASIC",
"Great Wall","FORTRAN","Computer design"};
//定義指針數組,它的元素分別指向 5 個字符串
int n=5;
sort(name,n);
//調用 sort 函數,對字符串排序
print(name,n); //調用 print 函數,輸出字符串
return 0; }
void sort(char *name[],int n)
//定義 sort 函數 { char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
//用選擇法排序
{ k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j])>0) k=j;
23
if(k!=i)
{ temp=name[i]; name[i]=name[k]; name[k]=temp;}
} }
void print(char *name[],int n) //定義 print 函數 { int i;
for(i=0;i<n;i++)
printf("%s\n",name[i]);
//按指針數組元素的順序輸出它們所指向的字符串 }
3.運行結果
24 (二)實驗步驟:
1.題目分析 pointer score 數組 pointer+1 60 70 80 90
56 89 67 88
34 78 90 66
5. 源程序代碼:
#include <stdio.h> int main() { float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};
//定義數組,存放成績
float *search(float (*pointer)[4],int n); //函數聲明
float *p;
int i,k;
printf("enter the number of student:");
scanf("%d",&k); //輸入要找的學生的序號
printf("The scores of No.%d are:\n",k);
p=search(score,k); //調用 search 函數,返回 score[k][0]的地址
25
for(i=0;i<4;i++)
printf("%5.2f\t",*(p+i)); //輸出score[k][0]~score[k][3]的值
printf("\n");
return 0; }
float *search(float (*pointer)[4],int n) //形參 pointer 是指向一維數組的指針變量 { float *pt;
pt=*(pointer+n); //pt 的值是&score[k][0]
return(pt); } 3.運行結果
推薦訪問: 參考答案 程序開發 語言上一篇:新時代好少年申報材料()
下一篇:禁毒社工事跡
在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動,集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據省局黨組《關于舉辦習近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學習、專題研討以及交流分享等形式,系統的對《習近平談治國理政》(第四卷)進行了深入的學習與交流,下面我就來談一談我個人
《習近平談治國理政》(第四卷)是在百年變局和世紀疫情相互疊加的大背景下,對以習近平同志為核心的黨中央治國理政重大戰略部署、重大理論創造、重大思想引領的系統呈現。它生動記錄了新一代黨中央領導集體統籌兩個
《真抓實干做好新發展階段“三農工作”》是《習近平談治國理政》第四卷中的文章,這是習近平總書記在2020年12月28日中央農村工作會議上的集體學習時的講話。文章指出,我常講,領導干部要胸懷黨和國家工作大
在《習近平談治國理政》第四卷中,習近平總書記強調,江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執政黨,在中國共產黨的字典里,“人民”一詞從來都
黨的十八大以來,習近平總書記以馬克思主義戰略家的博大胸襟和深謀遠慮,在治國理政和推動全球治理中牢固樹立戰略意識,在不同場合多次圍繞戰略策略的重要性,戰略和策略的關系,提高戰略思維、堅定戰略自信、強化戰
《習近平談治國理政》第四卷集中展示了以習近平同志為核心的黨中央在百年變局和世紀疫情相互疊加背景下,如何更好地堅持和發展中國特色社會主義而進行的生動實踐與理論探索;對于新時代堅持和發展什么樣的中國特色社
在黨組織的關懷下,我有幸參加了區委組織部組織的入黨積極分子培訓班。為期一周的學習,學習形式多樣,課程內容豐富,各位專家的講解細致精彩,對于我加深對黨的創新理論的認識、對黨的歷史的深入了解、對中共黨員的
《習近平談治國理政》第四卷《共建網上美好精神家園》一文中指出:網絡玩命是新形勢下社會文明的重要內容,是建設網絡強國的重要領域。截至2021年12月,我國網民規模達10 32億,較2020年12月增長4
剛剛召開的中國共產黨第十九屆中央委員會第七次全體會議上討論并通過了黨的十九屆中央委員會向中國共產黨第二十次全國代表大會的報告、黨的十九屆中央紀律檢查委員會向中國共產黨第二十次全國代表大會的工作報告和《