c語言實驗五
㈠ 咋寫c語言實驗報告
c(c++)上機實驗報告格式:
⒈ 實驗目的
(1) 了解在具體的語言環境下如何編輯、編譯、連接和運行一個 C 程序。
⑵ 通過運行簡單的 C 程序,初步了解 C 源程序的特點。
⑶ 掌握 C 語言數據類型,熟悉如何定義一個整型、字元型和實型的變數,以及對它們賦值的方法。
⑷ 掌握不同的類型數據之間賦值的規律。
⑸ 學會使用 C 的有關算術運算符,以及包含這些運算符的表達式,特別是自加(++)和自減(--)運算符的使用。
2.實驗內容和步驟
⑴ 檢查所用的計算機系統是否已安裝了 C 編譯系統並確定他所在的子目錄。
⑵ 進入所用的集成環境。
⑶ 熟悉集成環境的界面和有關菜單的使用方法。
⑷ 輸入並運行一個簡單的、正確的程序。
⒊ 實驗題目
⑴ 輸入下面的程序
# include 「stdio.h」 void main()
{ printf(「This is a c program. 」); }
㈡ C語言實驗求助
#include <stdio.h>
void main()
{
float score[10],max,min,sum=0;
int i;
for(i=0;i<10;i++)
{
printf("請輸入第%d個評委的分數",i+1);
scanf("%g",&score[i]);
sum+=score[i];
}
max = score[0];
min = score[0];
for(i=0;i<10;i++)
{
if(max<score[i])
{
max=score[i];
}
if(min>score[i])
{
min = score[i];
}
}
sum = (sum-min-max)/8;
printf("平均分是:%g",sum);
system("pause");
}
#include <stdio.h>
void main()
{
int shu[5][5],i,j,sum=0,sum1=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("shu[%d][%d]",i,j);
scanf("%d",&shu[i][j]);
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i==j)
{
sum+=shu[i][j];
}
if(i+j==4)
{
sum1+=shu[i][j];
}
}
}
printf("對角元素之和是sum=%d\nsum1=%d",sum,sum1);
system("pause");
}
#include <stdio.h>
void main()
{
int i,score[15],nums[15],count=0;
int shu[5];
for(i=0;i<5;i++)
{
shu[i]=0;
}
for(i=0;i<15;i++)
{
printf("請輸入第%d個同學的學號:",i+1);
scanf("%d",&nums[i]);
printf("請輸入第%d個同學的成績:",i+1);
scanf("%d",&score[i]);
while(score[i]>100&&score[i]<0)
{
printf("你輸入的成績有誤,請重新輸入");
printf("請輸入第%d個同學的成績:",i+1);
scanf("%d",&score[i]);
}
}
for(i=0;i<15;i++)
{
if(score[i]<60)
{
count++;
}
else if(score[i]>=60&&score[i]<70)
{
shu[0]++;
}
else if(score[i]>=70&&score[i]<80)
{
shu[1]++;
}
else if(score[i]>=80&&score[i]<89)
{
shu[2]++;
}
else if(score[2]>=90&&score[i]<100)
{
shu[3]++;
}
else if(score[i]==100)
{
shu[4]++;
}
}
printf("\n60分以下的同學有%d人",count);
printf("\n60分--69的同學有%d人",shu[0]);
printf("\n70分79的同學有%d人",shu[1]);
printf("\n80分89的同學有%d人",shu[2]);
printf("\n90分99的同學有%d人",shu[3]);
printf("\n100分的同學有%d人",shu[4]);
system("pause");
}
㈢ C語言實驗
#include <stdio.h>
int main(int argc, char *argv[])
{
int m = 0,k = 0;
printf("input m and k:");
scanf("%d %d",&m,&k);
int a[100] = {0},i = 0;
while(1)
{
if(m < k)
{
break;
}
a[i] = m % k;
i++;
m = m / k;
}
if(m != 0)
{
a[i] = m;
}
while(i >= 0)
{
printf("%d",a[i]);
i--;
}
printf("\n");
return 0;
}
㈣ C語言實驗——整數位
首先,數組s的大小錯了哦~你要存每一位數字,輸入五位數,那聲派蠢念明就應該聲明int s[5];
其次在最後一個while循檔巧環中,判斷條件為m>=0,m=0的時候,進入循環體,m自減,m就等於-1了,s[-1],塵困是未定義的,所以會溢出哈~
修改後的代碼如下:
#include<stdio.h>
int main()
{
int n,a,b=0,c,i,m=0;
int s[5];
scanf("%d",&n);
for(a=1;a<=n;b++)
{
a=10*a;
}
printf("%d\n",b);
for(c=1;c<=b;c++)
{
i=n%10;
n=(n-i)/10;
printf("%d ",i);
s[m]=i;
m++;
}
printf("\n");
while(m>0)
{
m--;
printf("%d ",s[m]);
}
return 0;
}
㈤ c語言實驗報告總結怎麼寫
c語言實驗報告總結這樣寫:
在科技高度發展的今天,計算機在人們之中的作用越來越突出。而c語言作為一種計算機的語言,我們學習它,有助於我們更好的了解計算機,與計算機進行交流,因此,c語言的學習對我們尤其重要。
在這個星期里,我們專業的學生在專業老師的帶領下進行了c語言程序實踐學習。在這之前,我們已經對c語言這門課程學習了一個學期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對裡面的好多東西還是很陌生,的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。
由於時間的關系,我們的這次實踐課程老師並沒有給我們詳細的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理.簡單界面程序.高級界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。
上機實驗是學習程序設計語言必不可少的實踐環節,特別是c語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。對於程序設計語言的學習目的,可以概括為學習語法規定、掌握程序設計方法、提高程序開發能力,這些都必須通過充分的實際上機操作才能完成。
學習c程序設計語言除了課堂講授以外,必須保證有不少於課堂講授學時的上機時間。因為學時所限,課程不能安排過多的統一上機實驗,所以希望學生有效地利用課程上機實驗的機會,盡快掌握用c語言開發程序的能力,為今後的繼續學習打下一個良好的基礎。
為此,我們結合課堂講授的內容和進度,安排了12次上機實驗。課程上機實驗的目的,不僅僅是驗證教材和講課的內容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:
1、加深對課堂講授內容的'理解
課堂上要講授許多關於c語言的語法規則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個工具解決實際問題,又必須掌握它。
通過多次上機練習,對於語法知識有了感性的認識,加深對它的理解,在理解的基礎上就會自然而然地掌握c語言的語法規定。對於一些內容自己認為在課堂上聽懂了,但上機實踐中會發現原來理解的偏差,這是由於大部分學生是初次接觸程序設計,缺乏程序設計的實踐所致。
學習c語言不能停留在學習它的語法規則,而是利用學到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。
通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數同學在完成老師作業時的心態。但是在程序設計領域里這是一定要克服的傳統的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去"掩蓋"程序中的錯誤,而不是盡可能多地發現程序中存在的問題。
自己編好程序上機調試運行時,可能有很多你想不到的情況發生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發能力。
2、熟悉程序開發環境、學習計算機系統的操作方法
一個c語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環境下才能進行。所謂"環境"就是所用的計算機系統硬體、軟體條件,只有學會使用這些環境,才能進行程序開發工作。
通過上機實驗,熟練地掌握c語言開發環境,為以後真正編寫計算機程序解決實際問題打下基礎。同時,在今後遇到其它開發環境時就會觸類旁通,很快掌握新系統的使用。
3、學習上機調試程序
完成程序的編寫,決不意味著萬事大吉。你認為萬無一失的程序,實際上機運行時可能不斷出現麻煩。如編譯程序檢測出一大堆錯誤。有時程序本身不存在語法錯誤,也能夠順利運行,但是運行結果顯然是錯誤的。
開發環境所提供的編譯系統無法發現這種程序邏輯錯誤,只能靠自己的上機經驗分析判斷錯誤所在。程序的調試是一個技巧性很強的工作,對於初學者來說,盡快掌握程序調試方法是非常重要的。有時候一個消耗你幾個小時時間的小小錯誤,調試高手一眼就看出錯誤所在。
通過這次為數不多的幾天計算機實踐學習,我們了解了一些關於c語言的知識,理解鞏固了我們c語言的理論知識,著對我們將來到社會工作將會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難!
㈥ 實驗5-10.c語言編程
#include<stdio.h>
intmain()
{
inti,k=1,n,year,month,week,flag=0;
intmonthdays(intyear,intmonth);//函數聲明
printf("輸入年月(用空格隔開):");
scanf("%d%d",&year,&month);
n=monthdays(year,month);
printf("清扮悉該月的第一天星期幾?:");
scanf("%d",&week);
printf缺緩(" %d年%d月 ",year,month);
printf("日一二三四五六 ");
if(week!=7)
for(i=0;i<week;i++,flag++)
{
if答乎(flag==0)
{
printf("%d",k++);
printf("%7c",'');
}
else
printf("%4c",'');
}
for(i=0;i<n;i++,flag++)
{
if(flag%7==0&&flag!=0)
{
printf(" ");
printf("%d",k++);
}
if(flag==0)
printf("%d",k++);
printf("%4d",i+1);
}
printf(" ");
return0;
}
intmonthdays(intyear,intmonth)
{
if((year%4==0&&year%100!=0||year%400==0)&&month==2)
return29;
elseif(month==2)
return28;
elseif(month==4||month==6||month==9||month==11)
return30;
else
return31;
}
㈦ c語言綜合實驗報告 幫我弄一個
姓名 ***
**學 院 ** 專業 052 班
2007 年 11 月 24 日
實驗內容實驗五 指導老師 陳老師
一、實驗內容及要求:
編譯運行習題5-3,觀察x、y變數的值。
實現客戶機類(類名為CLIENT),其中包含的成員有:字元型靜態數據成員ServerName,用來保存伺服器名稱;整型靜態數據成員ClientNum,記錄已定義的客戶數量;靜態函數ChangeServerName(),用來改變伺服器名稱。在頭文件client.h中聲明這個類,在文件client.cpp中實現,在文件test.cpp中測試這個類,觀察相應的成員變數取值的變化情況。二、實驗目的:
1、復習類的聲明和使用、掌握對象的聲明和使用;
2、學習構造函數和析構函數的使用,觀察構造函數和析構函數的執行過程。
三、程序:
//client.h
class Client
{
public:
Client();
~Client();
static ChangeServerName(char *); //改變伺服器名稱
char * GetServerName(); //返回伺服器名稱
int GetClientNum (); //返回客戶機數量
protected:
static char ServerName[20]; //伺服器名稱
static int ClientNum; //存放伺服器數量
};
/////////////////////////////////////////////////////
//client.cpp
# include <iostream>
# include <cstring>
# include "client.h"
using namespace std;
static char *ServerName = "";
int Client::ClientNum = 0;
Client::Client()
{ClientNum ++;}
Client::~Client(){}
void Client::ChangeServerName(char * names) //改變伺服器名稱
{strcpy(ServerName,names);}
char * GetServerName() //返回伺服器名稱
{return ServerName;}
int GetClientNum () //返回伺服器數量
{return ClientNum;}
////////////////////////////////////////////////////////
//test.cpp
# include <iostream>
# include "client.cpp"
using namespace std;
void main() //用於測試的主函數
{
Client threeclient[3];
char namestr[20]; //臨時存放伺服器名稱
cout<<"定義了3個客戶"<<endl;
cout<<"請輸入新伺服器名稱:"<<endl;
cin>> namestr;
CC.ChangeServerName(namestr);
cout<<"伺服器的名稱是"<<Client::GetServerName()<<endl;
cout<<"客戶數量為"<<CC.GetClientNum ();
}
思考題:
(1)C語言有五種基本數據類型:字元、整型、單精度實型、雙精度實型和空類型。結構體可以定義自己所需特殊類型.其他類型是已經定義好,不可修改的,而結構體是根據自己的需要定義的特殊的類型.
(3)採用了循環,復合語句.
㈧ c語言程序設計實驗報告內容
1、實驗名稱:計算出1000以內10個最大素數之和。
2、實驗目的:熟練掌握if、if…else、if…else if語句和witch語句格式及使用方法,掌握if語句中的嵌套關系和匹配原則,利用if語句和switch語句實現分支選擇結構。熟練掌握while語句、do…while語句和for語句格式及使用方法,掌握三種循環控制語句的循環過程以及循環結構的嵌套,利用循環語句實現循環結構。掌握簡單、常用的演算法,並在編程過程中體驗各種演算法的編程技巧。進一步學習調試程序,掌握語法錯誤和邏輯錯誤的檢查方法。
3、實驗內容:計算並輸出1000以內最大的10個素數以及它們的和。
4、要求:在程序內部加必要的注釋。 由於偶數不是素數,可以不考慮對偶數的處理。 雖然在1000以內的素數超過10個,但是要對1000以內不夠10個素數的情況進行處理。 輸出形式為:素數1+素數2+素數3+…+素數10=總和值。
5、演算法描述流程:Main函數:判斷素數:
6、測試數據:分別輸入1000、100、10測試。
7、運行結果:出現問題及解決方法:當素數個數小於10時的處理不夠完善,考慮不夠周全。學習耐心與細心不足,如scanf(「%d」,&n);中的「&」經常忘記。
8、編程思想不夠發散,例如如何判斷素數,只能想出2種方式(其中1種為參考教科書上內容);在今後學習桐襪中應更多的動腦,綜合運用所學。
9、基本功不夠,如清屏clrscr()等函數用的不好,有時同樣的問題多次犯,給實驗課老師帶來很大的麻煩。這說亂輪態明我的知識不夠廣,有很多有用但不做考試要求的書中內嘩源容沒有學好,認識程度不夠深刻。就算以後C語言這門課程結束後,也應多看相關東西,多上機練習,才能真正從本質上提高自己。
10、物理實驗報告 ·化學實驗報告 ·生物實驗報告 ·實驗報告格式 ·實驗報告模板
11、知識不夠廣泛,如VC++6.0等程序,自己試了好一陣也不會用;說明我電腦水平還是不夠,自學能力不夠。已會的東西掌握的還是不夠好。
12、實驗心得:通過本次C語言上機實驗,我對這個介於人類與非人類之間的計算機編程語言有了一定的體驗。其間開心過、郁悶過、無奈過、彷徨過……隨著實驗的勝利成功與實驗報告的勝利完成,有點微微的自豪感使人難忘。感謝高克寧老師的高標准、嚴要求,感謝實驗課上小老師們的耐心指點,也感謝我在實驗中經歷過的點點滴滴……伴隨著學習的深入,我發現高深的東西還有很多很多,等待著我自己去挖掘。對C語言,我會更加努力。
㈨ C語言實驗報告總結
你只需要按那個模版就行,那些內容就改成你的作業
班級: 學號: 姓名:
實驗9 指針
一、實驗目的
(1)掌握指針概念,並定義與使用它。
(2)使用數組的指針和指向數組的指針變數。
(3)使用字元串的指針和指向字元串的指針變數。
二、實驗內容
1. 將一個3*3的矩陣轉置,用函數實現。
2. 有n個人圍成一圈,順序排號。從第一個人開始報數(1~3),凡報到3的人退出,問第幾號的人能留下。
三、實驗環境
硬體:(1)學生用微機
(2)多媒體實驗教室
軟體:(1)Windows XP 中文操作系統
(2)VC++ 6.0
四、實驗結果
程序1:
#include<stdio.h>
void main()
{
void move(int *pointer);
int a[3][3],*p,i;
printf("input marix:\n");
for(i=0;i<3;i++)
scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
p=&a[0][0];
move(p);
printf("matrix:\n");
for(i=0;i<3;i++)
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
}
void move(int *pointer)
{
int i,j,t;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
{
t=*(pointer+3*i+j);
*(pointer+3*i+j)=*(pointer+3*j+i);
*(pointer+3*j+i)=t;
}
}
程序2:
#include<stdio.h>
void main()
{
int i,k,m,n,num[50],*p;
printf("input num of person:");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m<n-1)
{
if(*(p+i)!=0)k++;
if(k==3)
{
*(p+i)=0;
k=0;
m++;
}
i++;
if(i==n)i=0;
}
while(*p==0)p++;
printf("the last num is %d\n",*p);
}
結果1:(就是程序運行之後出現的框,截圖後粘貼這里)
結果2:
五、總結:
通過這個實驗的學習, 基本掌握了指針的基本用法。