久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

c語言版計算器實驗報告

時間:2019-05-15 12:55:15下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《c語言版計算器實驗報告》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《c語言版計算器實驗報告》。

第一篇:c語言版計算器實驗報告

計算器實驗報告

班級: 07計本(1)班

姓名: 王林

學號: 20706031047

指導老師: 韓靜

一、需求分析

(1)制作一個計算器界面工程,有數字運算符等鍵,輸入表達式后,按等號鍵輸入結

束,并顯示出正確的結果。

(2)程序能根據運算符的高低進行運算

(3)可以輸入括號

二、設計思路

(1)用工程建立一個字符串的類結構,并用編輯框輸入相應的數字和字符,并且

輸入的字符用字符串逐個接受,當輸入為’=’的時候,用‘#‘做最后一個輸入。

(2)開始對所輸入的字符串進行運算和操作,顯示在工程中的編輯框內。

(3)如果結束則關閉,如果再次進行運算則進行清零。

三、主程序段

char Precede(char a,char b)//判斷優先級的函數 {

switch(a)

{

case'+':{if(b=='*'||b=='/'||b=='(')return('<');

else return('>');

}

case'-':{if(b=='*'||b=='/'||b=='(')return('<');

else return('>');

}

case'*':{if(b=='(')return('<');

else return('>');

}

case'/':{if(b=='(')return('<');

else return('>');

}

case'(':{if(b==')')return('=');

else if(b=='#')return('0');

else return('<');

}

case')':{if(b=='(')return('0');

else return('>');

}

case'#':{if(b==')')return('0');

else if(b=='#')return('=');

else return('<');

}

}

}

float Operate(float a,char theta,float b)//計算兩個數的結果的函數 {

float z;

switch(theta){

case '+':z=a+b;break;

case '-':z=a-b;break;

case '*':z=a*b;break;

case '/':z=a/b;break;

}

return(z);

}

float Shuhe(SqStack1 &OP,int k,int j)

{

int i,e,n=k;

float sum=0,fe;

while(j!=0)

{

Pop1(OP,e);

fe=float(e);

for(i=1;i<=j;i++)

fe=fe/10;

sum=sum+fe;

j--;

}

while(k!=0)

{

Pop1(OP,e);

for(i=0;i

e=e*10;

sum=sum+e;

k--;

}

return(sum);

}

void CMyDlg::OnButton12()

{

UpdateData(TRUE);

m_ss=m_ss+'#';

SqStack OPTR;

SqStack1 OP;//輸入的字符轉化為數字的函數//字符型棧的定義//整型型棧的定義

SqStack2 OPND;//浮點型棧的定義int i=0,flag=0,k=0,tag=0,j=0;

float sum,a,b;

char c,x,theta;

InitStack(OPTR);Push(OPTR,'#');

InitStack2(OPND);InitStack1(OP);

c=m_ss[i++];

while(c!='#'||GetTop(OPTR)!='#')

{

if(c=='.')

{

tag=1;c=m_ss[i++];

}

else if(c>='0'&&c<='9')

{

Push1(OP,int(c)-48);

c=m_ss[i++];

if(tag==0)k++;

else j++;

flag=1;

}

else

{

if(flag==1)

{

sum=Shuhe(OP,k,j);

Push2(OPND,sum);

OP.top=OP.base;

k=0;flag=0;j=0;tag=0;

}

switch(Precede(GetTop(OPTR),c))

{

case'<'://棧頂元素優先權低

{

Push(OPTR,c);c=m_ss[i++];

break;}

case'='://脫括號并接收下一個字符

{Pop(OPTR,x);c=m_ss[i++];

break;}

case'>'://退棧并將運算結果入棧

{Pop(OPTR,theta);

Pop2(OPND,b);Pop2(OPND,a);

Push2(OPND,Operate(a,theta,b));

break;}

}

}

}

sum=GetTop2(OPND);

m_ss.Format(“%f”,sum);

UpdateData(FALSE);

}

四、調試分析

(1)當輸入“1+2-3=”時,顯示結果為“0.000000”,結果正確,置清零。

(2)當輸入“2.96*1.85/6.741=”時,顯示結果為“0.812342”,結果正確,置清零。

(3)當輸入“2.69-19.145=”時,顯示結果為“-16.455000”,結果正確,置清零。

(4)當輸入“5-7*(5+1.8)=”時,顯示結果為“-42.600002”,結果正確,置清零。

(5)當輸入“2-/65=”時,顯示結果為“1.969231”,結果錯誤,置清零。

(6)當輸入“-6+9=”時,顯示結果為“-107374176.000000”,結果錯誤,置清零。

(7)當輸入“0-6+9=”時,顯示結果為“3.000000”,結果正確,置清零。

(8)當輸入“(2+3)*5-8=”時,顯示結果為“17.000000”,結果正確,置清零。

(9)當輸入“6*(-3+1)=”時,顯示結果為“12.000000”,結果錯誤,置清零。

(10)當輸入“6*(0-3+1)=”時,顯示結果為“-12.000000”,結果正確,置清零。

(11)當輸入“6*(1-3)=”時,顯示結果為“-12.000000”,結果正確,結束。

調試說明以及分析:

1、當輸入為正確的格式時,能算出正確的結果,其中包括:小數、整數以及個位以上的數字,且運算符包括:加、減、乘、除運算,還有就是可以加括號等。

2、當輸入為錯誤的格式是,顯示的是錯誤的結果,如(5)中的運算結果就是錯誤的。

3、若某個數字是負數,如果直接輸入,結果是錯誤的,但如果變為零減去該數字的絕對值的話或者把兩數的順序更改一下,顯示的是正確的結果,如

(6)、(7)、(9)、(10)、(11)做的結果。

4、有時候會出現一些不精確的顯示結果,如(4)中顯示多的是0.000002,這是由于在C語言的定義時,系統所產生的結果,與算法無關。

2008.12.25

第二篇:Android實驗格式簡易計算器實驗報告

實驗報告

2013-2014 學年第2學期

課程名稱:嵌入式操作系統

實驗題目:簡易計算器的設計與實現

專業:計算機科學與技術、信息處理(是什么專業,寫什么專業)班級:計算本1101(按自己班級填寫)

日期填寫 2014年4月 8日

實驗題目:簡易計算器的設計與實現

實驗類型:上機實驗

一、實驗目的及要求

1.掌握線性布局的應用;

2.掌握表格布局的應用;

3.掌握數組的應用;

4.掌握如何Button組件的使用;

5.掌握代碼中訪問布局組件的方法;

6.掌握特定組件的事件設計方法。

二、實驗儀器設備與軟件環境

1、電腦。

2、Android集成開發工具adt-bundle。

三、實驗過程

1、布局設計

…這部分自己填

2.程序設計

…這部分自己填

第三篇:C語言之計算器軟件設計

題目計算器軟件設計

一、設計要求

用C語言設計出模擬計算器軟件,實現計算器的功能。

二、設計內容

1.基本要求:

(1)圖形顯示方式,在DOS環境下畫出計算器的圖形,能夠用鼠標實現操作,能夠進行簡單的數學計算。

2.提高要求:

(1)能夠實現鍵盤和鼠標兩種輸入方式。

(2)能夠保存計算結果。

(3)能夠處理括號等運算符。

(4)學生可自動增加新功能模塊(視情況可另外加分)。

3.設計報告:

1)寫出主要設計思路,圖形方式和文本方式的工作原理;

2)畫出程序流程圖;

3)調試出現的問題及解決方法;

4)提交程序清單。

三、編程重點、難點提示

1.DOS環境下的圖形初始化。

2.DOS環境下鼠標的使用方法。1.MOUSE.COM文件; 2.鼠標初始化;

擊。

聯系方式:譚順華

電話:6088222,***(V網:61025)

QQ:182986843.數字的顯示方法。3.鼠標事件的獲取,包括鼠標的位置(X,Y),左鍵或右件,單擊或雙

第四篇:c語言實驗報告

計算機軟件技術基礎實驗報告

實驗一:線性表的排序與查找

一.實驗內容

a)鍵盤輸入一組無序數據,添加到線性表中; b)排序線性表并輸出排序結果; c)鍵盤輸入一個數,并插入到排好序的線性表中(要求插入后的表仍為有序表),輸出結果;

d)鍵盤輸入一個數,并從線性表中刪除相應的數據,輸出結果。

二,源程序

// Experiment1.cpp : 定義控制臺應用程序的入口點。//

#include “stdafx.h” #include “iostream” #include

// 程序實現有各種方法,這里給出一個實例。

// 定義一個線性表

const int nMaxSize = 15;// 最大值 int nLen = 0;

// 表中元素個數 int nLinearList[nMaxSize];

// 定義操作 void LSort();void LOut();void LInsert(int n);void LDelete(int n);

int main(int argc,TCHAR*argv[]){ // 輸入數據并放入線性表中

printf(“Please input datan”);// std::cout << “Please input datan”;int nIn = 0;for(int i = 1;i <= 10;i++){

scanf(“%d”,&nIn);// std::cin >> nIn;

nLinearList[i] = nIn;

nLen++;

}

LSort();// 排序線性表 LOut();// 輸出結果

printf(“Please input a data to insert n”);scanf(“%d”,&nIn);LInsert(nIn);// 輸入一個數字,并插入到線性表中 LOut();

printf(“Please input a data to delete n”);scanf(“%d”,&nIn);LDelete(nIn);// 輸入一個數字,并從線性表中刪除

LOut();

char chTmp;printf(“Please input a char to finish this program.”);chTmp = getch();return 0;}

void LSort()

// 冒泡排序,由大到小 { int j,F,k,M;

F=nLen;while(F>0)

{k=F-1;F=0;for(j=1;j<=k;j++){if(nLinearList[j]

M=nLinearList[j];nLinearList[j]=nLinearList[j+1];nLinearList[j+1]=M;F=j;

}}}

}

void LOut(){ printf(“n”);for(int i = 1;i <= nLen;i++){

printf(“%d, ”, nLinearList[i]);} printf(“n”);} void LInsert(int n){ int i,j;i=1;while(i=i;j--)nLinearList[j+1]=nLinearList[j];nLinearList[i]=n;break;} i++;} } void LDelete(int n){ int i,j;for(i=1;i<=nLen;i++){if(nLinearList[i]==n){for(j=i;j<=(nLen-1);j++)nLinearList[j]=nLinearList[j+1];nLen--;break;}}}

運行結果

實驗2:棧與隊列的應用

一. 實驗內容

a)鍵盤輸入算數表達式,并放入隊列當中; b)應用棧的概念設計表達式求值算法;

輸出表達式求值結果 二.源程序

// Experiment2.cpp : 定義控制臺應用程序的入口點。

#include “stdio.h” #include #include #include

// 程序實現有各種方法,這里給出一個實例。

const int MAX_LEN = 10;// 字符串的長度 const int MAX_SIZE = 30;// 棧或隊的最大元素個數

// 定義一個隊列的結構 struct QUEUE { int nMaxSize;// 最大值

int nCount;// 個數

int nFront;// 頭

int nRear;// 尾

char szQueue[MAX_SIZE][MAX_LEN];};

//定義一個棧的結構 struct STACK { int nMaxSize;// 最大值

int nTop;// 棧頂

char szStack[MAX_SIZE][MAX_LEN];};

// 隊列的操作

void InitQueue(QUEUE *q,int nMaxSize){ q->nMaxSize=nMaxSize;q->nCount=0;q->nFront=0;q->nRear=0;q->szQueue[MAX_SIZE][MAX_LEN]=0;} void InQueue(QUEUE *q, char *pItem){ if(q->nCount==q->nMaxSize){

printf(“The Queue is full!n”);

return;} strcpy(q->szQueue[q->nRear],pItem);if(q->nRear++==MAX_SIZE)q->nRear=0;q->nCount++;} void OutQueue(QUEUE *q, char *pItem){ if(q->nCount==0){

printf(“The Queue is empty!n”);

return;} strcpy(pItem,q->szQueue[q->nFront]);if(q->nFront++==MAX_SIZE)q->nFront=0;q->nCount--;}

//棧的操作

void InitStack(STACK *s,int nMaxSize){

s->nMaxSize=nMaxSize;

s->nTop=0;

s->szStack[MAX_SIZE][MAX_LEN]=0;} void PushStack(STACK *s, char *pItem){ char *p;if(s->nTopnMaxSize){

p=s->szStack[s->nTop];

strcpy(p,pItem);

s->nTop++;} else { printf(“The stack overflow!n”);return;} } void PopStack(STACK *s, char *pItem){ char *p;if(s->nTop==0){

printf(“stack is empty!n”);

return;} else {

p=s->szStack[--s->nTop];

strcpy(pItem,p);} } void GetTopStack(STACK *s, char *pItem){ char *p;char a[10]={0};if(s->nTop==0){

a[0]=';';

strcpy(pItem,a);} else {

p=s->szStack[s->nTop-1];

strcpy(pItem,p);} }

//字符判斷 int isdigit(char x){ if(x>='0'&&x<='9')return 1;return 0;}

int Priority(char *op);// 獲得操作符的優先級 void Compute(char *num1, char *num2, char *op, char *chResult);//主函數 void main(){

// 計算表達式的值

char x[MAX_LEN];

// 掃描的表達式

char op[MAX_LEN];

// 棧頂運算符

char num1[MAX_LEN], num2[MAX_LEN];

// 兩個操作數

char chResult[MAX_LEN];

// 運算結果 // ***聲明一個隊列

struct QUEUE q1;

struct QUEUE *q;// ***聲明OS棧和NS棧

struct STACK OS;

struct STACK NS;

struct STACK *o;

struct STACK *n;

int i=0;

int j=0;

int k=0;//****初始化

q=&q1;

o=&OS;

n=&NS;

InitStack(o,20);

InitStack(n,20);

InitQueue(q,20);

printf(“please input the expression end with //錄入表達式 do

{

printf(”nextn“);

scanf(”%s“,x);

InQueue(q,x);}

while(x[0]!=';');printf(”expression n“);while(true){

if(q->nCount!=0)

{

OutQueue(q, x);

printf(”%s“,x);

}

”;n“);

if(isdigit(x[0]))

PushStack(n,x);

else

{

// 是數

// 認為是運算符,沒有考慮空格等

GetTopStack(o,op);// 獲得OS棧頂運算符 if(x[0] == ';' && op[0] == ';')

// 掃描結束 {

printf(”n result is “);break;} if(Priority(x)> Priority(op)){ PushStack(o,x);continue;}

// 運算符的優先級〉棧頂運算符

while((Priority(x)<= Priority(op))&&Priority(op))

{

PopStack(n,num1);

PopStack(n,num2);

PopStack(o,op);

Compute(num2,num1,op,chResult);

PushStack(n,chResult);

GetTopStack(o,op);

}

PushStack(o,x);

}

} PopStack(n,chResult);printf(”%sn“,chResult);}

int Priority(char *op){ int nPriority = 0;

switch(op[0]){ case '^':

nPriority = 3;

break;case '*': case '/':

nPriority = 2;

break;case '+':

// 不大于棧頂運算符

case '-':

nPriority = 1;

break;case ';':

nPriority = 0;} return nPriority;} void Compute(char *num1, char *num2, char *op, char *chResult){ double fNum1,fNum2;double fResult = 0;fNum1 = atof(num1);fNum2 = atof(num2);switch(op[0]){ case '^':

fResult = pow(fNum1,fNum2);

break;case '*':

fResult = fNum1*fNum2;

break;case '/':

fResult = fNum1/fNum2;

break;case '+':

fResult = fNum1+fNum2;

break;case '-':

fResult = fNum1-fNum2;

break;}

} sprintf(chResult,”%.4f",fResult);//把計算的結果轉化為字符串 return;三.運行結果

實驗三:關系數據語言的應用

一、實驗內容

查詢學生出生日期(Sno, Sname, BirthDay);按學號順序查詢一個班級的所有學生(Class, Sname);列出學生選擇各門課程的成績(Sname, Cname, Grade);列出有過不及格成績的學生名單(Sno, Sname, Class);求學生的平均成績和總成績(Sname, PJCJ, ZCJ);查找各科成績都 >= 85 分的學生(Sname, Class);將課程號為“01”的課程名稱修改為“軟件技術”;修改一名學生的姓名、性別、年齡;將成績為55~59分的男生的成績修改為60分;刪除90年以后、80年以前出生的學生的所有信息(包括選課和成績);刪除一個班級的所有學生;刪除所有數據表和數據庫。

程序清單及結果: CREATE TABLE Stu(Sno CHAR(4)PRIMARY KEY, Sname CHAR(10), Sex CHAR(2), Age NUMERIC, BirthDay DATETIME, Class CHAR(10),);CREATE TABLE Course(Cno CHAR(2)PRIMARY KEY, Cname CHAR(10), Chour NUMERIC,);CREATE TABLE Score(Sno CHAR(4), Cno CHAR(2), PRIMARY KEY(Sno,Cno), Grade NUMERIC,)Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3626','張小唯','女','18','1995-09-24','電科1202');Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3628','王紅','女','19','1994-06-27','電科1202');Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3634','李雷','男','20','1992-11-30','電科1202');Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3635','張明','男','18','1994-06-03','電科1202');Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3641','趙小東','男','20','1993-03-15','電科1202');

Insert into Course(Cno,Cname,Chour)values('01','asdf','12');Insert into Course(Cno,Cname,Chour)values('02','qwer','23');Insert into Course(Cno,Cname,Chour)values('03','zxcv','34'

Insert into Score(Sno,Cno,Grade)values('3570','01','97');Insert into Score(Sno,Cno,Grade)values('3580','01','54');Insert into Score(Sno,Cno,Grade)values('3584','01','56');Insert into Score(Sno,Cno,Grade)values('3583','01','88');Insert into Score(Sno,Cno,Grade)values('3574','02','87');Insert into Score(Sno,Cno,Grade)values('3575','03','79');Insert into Score(Sno,Cno,Grade)values('3576','02','68');Insert into Score(Sno,Cno,Grade)values('3577','03','58');Insert into Score(Sno,Cno,Grade)Values('3578','03','98');Insert into Score(Sno,Cno,Grade)values('3626','01','97');Insert into Score(Sno,Cno,Grade)values('3628','01','54');Insert into Score(Sno,Cno,Grade)values('3637','01','56');Insert into Score(Sno,Cno,Grade)values('3640','01','88');Insert into Score(Sno,Cno,Grade)values('3657','02','87');Insert into Score(Sno,Cno,Grade)values('3675','03','79');Insert into Score(Sno,Cno,Grade)values('3676','02','68');Insert into Score(Sno,Cno,Grade)values('3677','03','58');Insert into Score(Sno,Cno,Grade)Values('3678','03','98');

1.查詢學生出生日期(Sno, Sname, BirthDay); Select Sno,Sname,BirthDay from Stu;

2.按學號順序查詢一個班級的所有學生(Class, Sname);

Select Class,Sname from Stu order by Sno;

3.列出學生選擇各門課程的成績(Sname, Cname, Grade); Select Sname,Cname,Grade from Stu,Course,Score

where Stu.Sno=Score.Sno and

Course.Cno=Score.Cno;

4.列出有過不及格成績的學生名單(Sno, Sname, Class);Select distinct Stu.Sno,Sname,Class from Stu,Score where Stu.Sno=Score.Sno and

Grade<60;

5.求學生的平均成績和總成績(Sname, PJCJ, ZCJ);

Select Sname,avg(Grade)PJCJ,sum(Grade)ZCJ from Stu,Score where Score.Sno=Stu.Sno group by Stu.Sname;

6.查找各科成績都 >= 85 分的學生(Sname, Class);

Select Sname,Class from Stu where exists(Select * from Score where Stu.Sno=Score.Sno and Score.Cno='01' and Score.Grade>=85)and exists(Select * from Score where Stu.Sno=Score.Sno and Score.Cno='02' and Score.Grade>=85)and exists(Select * from Score where Stu.Sno=Score.Sno and Score.Cno='03' and Score.Grade>=85);

7.將課程號為“01”的課程名稱修改為“軟件技術” Update Course set Cname='軟件技術' where Cno='01';

8.修改一名學生的姓名、性別、年齡;

Update Stu set Sname='aha',Sex='wm',age='10'where Sno='3626';

9.將成績為55~59分的男生的成績修改為60分

Update Score set Grade=60 where Sno in(Select Sno from Stu where Sex='女')and Grade between 55 and 59;

10.刪除90年以后、80年以前出生的學生的所有信息(包括選課和成績)Delete Stu where Sno in(select Sno from Stu where BirthDay < '1980-01-01' or BirthDay>'1990-12-31')

11.刪除一個班級的所有學生

Delete from Stu where Class='電科1202';

12.刪除所有數據表和數據庫 Drop database MyDB;

第五篇:c語言實驗報告

南昌大學實驗報告

學生姓名: 學 號: 專業班級:

√ 綜合 □ 設計 □ 創新 實驗日期: 實驗成績: 實驗類型:□ 驗證 □一.實驗名稱

實驗3 控制語句

二.實驗目的

1.熟練掌握if、if…else、if……elseif語句和switch語句格式及使用方法,掌握if語句中的嵌套關系和匹配原則,利用if語句和switch語句實現分支選擇結構。

2.熟練掌握while語句、do……while語句和for語句格式及使用方法,掌握三種循環控制語句的循環過程以及循環結構的嵌套,利用循環語句實現循環結構。

3.掌握簡單、常用的算法,并在編程過程中體驗各種算法的編程技巧。進一步學習調試程序,掌握語法錯誤和邏輯錯誤的檢查方法。

三.實驗內容

1. 選擇結構程序設計; 2. if語句的使用;

3. 使用switch語句實現多分支選擇結構; 4. 三種循環語句的應用; 5. 循環結構的嵌套;

6. break和continue語句的使用。

三.實驗環境

PC微機

DOS操作系統或 Windows 操作系統 Visual c++程序集成環境

四.實驗內容和步驟

本實驗要求事先編好解決下面問題的程序,然后上機輸入程序并調試運行程序。學會單步調試和斷點調試程序及變量跟蹤方法。

1. 任意輸入4個整數,要求按由小到大的順序輸出。

2.編程實現:輸入一個整數,將其數值按照①小于10,②10~99,③100~999,④1000以上四個類別分類并顯示。

要求:(1)將變量定義為整型。

(2)輸入整數前,利用puts()/printf()給出提示信息。

(3)輸出結果時要有必要的說明,例如:輸入358時,顯示358 is 100 to 999。(4)該程序利用if語句實現。

運行程序,分別輸入9,21,321,4321數據檢查輸出信息的正確性。

3.編寫程序:根據公式

?26?1111???......?,輸出 π的值。

122232n2要求:

(1)變量π為單精度類型,n為整型;

(2)計算當n的取值分別為20,50,100,200時的π值,說明什么問題?

(3)修改程序,不給出n值,而改為求π值,直到最后一項的數值小于10-4 為止。

(4)對修改后的程序,輸出π值以及總的項數n。輸出格式為:π=值;n=值。

4.從鍵盤輸入一個0~1000之間的任意整數,輸出該整數的所有因子(例如:輸入12,其因子為1,2,3,4,6,12)。

要求:

(1)采用while循環語句實現。

(2)輸出格式為:Input:12 Output:1,2,3,4,6,12 5.從鍵盤輸入學生的考試成績,利用計算機將學生的成績劃分等級并輸出。學生的成績可分成5個等級,90-100分為A級,80-89分為B級,70-79分為C級,60-69分為D級,0-59分為E級。要求在輸入負數時,給出錯誤提示。

① 事先編好程序,要求分別用if語句和switch語句實現。運行程序,并檢查結果是否正確。

② 再運行一次程序,輸入分數為負值(如-70),這顯然是輸入時出錯,不應給出等級。修改程序,使之能正確處理任何數據。當輸入數據大于100或小于0時,通知用戶“輸入數據錯”,程序結束 6.某航空公司規定:在旅游旺季7~9月份,如果訂票20張及其以上,優惠票價的10%,20張以下,優惠5%;在旅游淡季1~6月份,10~12月份,訂票20張及其以上,優惠票價的20%,20張以下,優惠10%。編寫一個C程序,根據月份和旅客訂票張數決定優惠率。已知機票單價,請算出旅客的總付款。請使用不同的測試數據進行測試。7.計算并輸出1000以內最大的10個素數以及它們的和。

要求:

(1)在程序內部加必要的注釋。

(2)由于偶數不是素數,可以不考慮對偶數的處理。

(3)雖然在1000以內的素數超過10個,但是要對1000以內不夠10個素數的情況進行處理。

(4)輸出形式為:素數1+素數2+素數+…+素數10 = 總和值。

五.實驗數據及處理結果

/*寫出實驗內容的算法(用流程圖表示)、完整的程序、結果并能對結果的正確性及上機時產生的問題進行分析,注意程序變量命名應見名知意、有適當的注釋,程序書寫規范*/ 【習題1】

【設計思路】 :輸入a,b,c,d四個數,將四個數兩兩進行比較,如果前者大于后者,則將兩數的值交換,否則不變。這樣重復操作6次,最后輸出a,b,c,d的值,則a,b,c,d從大到小排列。

【數據輸入】輸入整型變量 a,b,c,d 【數據輸出】輸出 a,b,c,d的值,使其從大到小排列。【源程序實現】

#include main(){

int a,b,c,d,t;printf(“please input four numbers(example:1 2 3 4):n”);scanf(“%d %d %d %d”,&a,&b,&c,&d);if(a>b){t=a;a=b;b=t;}/* 實現a,b的交換 */ if(a>c){t=a;a=c;c=t;}/* 實現a,c的交換 */ if(a>d)

} {t=a;a=d;d=t;}/* 實現a,d的交換 */ if(b>c){t=b;b=c;c=t;}/* 實現b,c的交換 */ if(b>d){t=b;b=d;d=t;}/* 實現b,d的交換 */ if(c>d){t=c;c=d;d=t;}/* 實現c,d的交換 */ printf(“%d,%d,%d,%d”,a,b,c,d);【結果及截圖】

答:輸入64 3 5 23,運行結果為3,5,23,64,其截圖如下:

輸入格式的提示。

【修改后程序實現及結果】 /*習題2、4請添加此步*/

【問題分析】 輸入數據時,沒有按正確格式輸入,所以在輸入數據之前,應該給出一個【習題2】

【設計思路】

【數據輸入】 輸入整型變量x。【數據輸出】 輸出x的范圍。【源程序實現】

#include

main()

{

int x;

printf(“Please input a number:n”);

scanf(“%d”,&x);

printf(“%d is ”,x);

if(x<10)printf(“less than 10n”);

else if(x<100)printf(“10 to 99n”);

else if(x<1000)printf(“100 to 999n”);

else printf(“more than 1000n”);

return 0;

}

【結果及截圖】

答:運行程序,分別輸入9,21,321,4321,截圖如下:

【習題3】

【源程序實現】

#include

#include

main()

{

int n,N;

float pi,sum=0;

printf(“Please input a number:nN=”);

scanf(“%d”,&N);

for(n=1;n<=N;n++)

sum+=1.0/(n*n);

pi=sqrt(6*sum);

printf(“pi=%f”,pi);

return 0;} 修改后的程序: #include #include main(){

int n=0;

float pi,sum=0;

do

{

n++;

sum+=1.0/(n*n);

}while(1.0/(n*n)>=1e-4);

pi=sqrt(6*sum);

printf(“pi=%f;n=%d”,pi,n);

return 0;}

【結果i及截圖】

答:計算當N的取值分別為20,50,100,200時,截圖如下:

【結果ii及截圖】

【習題4】

【源程序實現】

#include main(){ int num,i=2;printf(“Input:”);scanf(“%d”,&num);printf(“Output: 1”);/*第一個因式為 1*/ while(i<1000){ if(num%i==0)printf(“,%d”,i);i++;} return 0;}

【結果及截圖】

答:輸入30,得其因式為 1,2,3,5,6,10,15,30,截圖如下:

【習題5】

【源程序實現】

If 語句

#include main(){

int num;

printf(“Input:”);

scanf(“%d”,&num);

if(num<0||num>100)printf(“The number is wrong!”);

else if(num<=59)printf(“E”);

else if(num<=69)printf(“D”);

else if(num<=79)printf(“C”);

else if(num<=89)printf(“B”);

else printf(“A”);

return 0;}

Switch 語句

#include main(){

int num,n;

printf(“Input:”);

scanf(“%d”,&num);

n=num/10;

switch(n)

{

case 0:

case 1:

case 2:

case 3:

case 4:

case 5: printf(“E”);break;

case 6: printf(“D”);break;

case 7: printf(“C”);break;

case 8: printf(“B”);break;

case 9:

case 10: printf(“A”);break;

default: printf(“error!”);

}

return 0;}

【問題分析】

【習題6】

【源程序實現】

#include main(){ int month,num;float price,cost;printf(“month=”);scanf(“%d”,&month);printf(“nprice=”);scanf(“%f”,&price);printf(“nnum=”);scanf(“%d”,&num);if(month>=7&&month<=9){if(num>=20)cost=price*0.9*num;else cost=price*0.95*num;} if((month>=1&&month<=6)||(month>=11&&month<=12)){if(num>=20)cost=price*0.8*num;else cost=price*0.9*num;} printf(“cost=%f”,cost);}

【習題7】

【源程序實現】

#include #include void main(){ int num,i,sum=0,count=0;for(num=999;count!=10;num-=2){for(i=2;i=sqrt(num)){count++;sum+=num;printf(“%d+”,num);} } printf(“b=%d”,sum);} 【結果及截圖】

六.簡答題

七、實驗總結及體會

下載c語言版計算器實驗報告word格式文檔
下載c語言版計算器實驗報告.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    C語言 實驗報告

    C語言程序設計(B) (2010-2011-2) 實驗報告 教學班級: 學號: 姓名: 課程教師: 實驗輔導教師: 江西理工大學自由編輯的程序 一、實驗前的源程序: //任意整數的疊加 #include void main......

    C語言實驗報告

    C語言程序設計(B) (2010-2011-2) 實驗報告 教學班級: 學號: 姓名:課程教師:王華金 實驗輔導教師:王華金 江西理工大學1 P123--五、1、編寫函數,找出5*5數組對角線上元素的最小值,并在......

    c語言實驗報告

    實驗一 熟悉C語言程序的運行環境 一、實驗目的 1、了解在該系統上如何編輯、編譯、連接和運行一個C 程序; 2、通過運行簡單的C程序,初步了解C程序的特點。 二、實驗預習1、......

    C語言實驗報告

    C語言程序設計(B) (2010-2011-2) 實驗報告2 教學班級: 學號: 姓名:課程教師: 實驗輔導教師: 一、做一個“楊輝三角” 實驗前的源程序: /*楊輝三角*/ #include void fun(int Y[][]......

    C語言實驗報告

    C語言程序設計實驗 --------指針應用實驗 ========================山東農業大學實驗報告 課程名稱: c語言程序設計實驗 學院: 水利土木工程學院 專業: 道路橋梁與渡河工程......

    C語言實驗報告

    鄭州輕工業學院 實 踐 報 告 實現內容: OJ1123最佳校友(數組)、OJ1158又是升序(指針)、OJ1180成績統計(結構)、OJ1203做幻方(文件) 學號:541507020140 學生姓名:王紅旭 專業班級:電子信......

    C語言實驗報告

    實驗一 C程序的運行環境和方法 一、實驗目的 1.了解所用的計算機系統。 2.了解在該系統上如何進行編輯、編譯、連接和運行一個C程序。 3.通過運行簡單的C程序了解C程序的特點。 二......

    C語言實驗報告

    實驗一 C程序的運行環境和運行C程序的辦法 1. 實驗目的 (1)了解所用的計算機系統的基本操作方法,學會獨立使用該系統。 (2)了解在該系統上如何編輯、編譯、連接和運行一個C程......

主站蜘蛛池模板: 囯产精品久久久久久久久久妞妞| 国产人妻无码一区二区三区免费| 久久午夜私人影院| 欧美黑人性暴力猛交喷水| 成人免费视频视频在线观看 免费| 92电影网午夜福利| 亚洲中文字幕无码天堂男人| 暖暖视频 免费 日本社区| 色噜噜久久综合伊人一本| 中文字幕在线亚洲日韩6页| 亚洲精品国偷拍自产在线| 久久综合亚洲鲁鲁五月天| 精品久久一区二区乱码| 无码成人h免费视频在线观看| 嫩草国产露脸精品国产软件| 蜜桃视频无码区在线观看| 久久精品熟女人妻一区二区三区| 久久久久久九九99精品| 国产成人麻豆亚洲综合精品| 久久综合a∨色老头免费观看| 国产精品国产三级国产av′| 国产大学生粉嫩无套流白浆| 国产一区二区三区影院| 成人精品一区二区久久久| 老子影院午夜伦不卡| 麻豆一区二区99久久久久| 影音先锋人妻每日资源站| 日韩乱码人妻无码系列中文字幕| 亚洲av中文无码乱人伦在线播放| 午夜熟女插插xx免费视频| 神马影院午夜dy888| 亚洲天天做日日做天天谢日日欢| 国产欧美va欧美va香蕉在线观看| 男女无遮挡xx00动态图120秒| 日日摸日日添日日碰9学生露脸| 国产午夜亚洲精品不卡在线观看| 亚洲va中文慕无码久久av| 国产精品亚洲专区无码唯爱网| 中文字幕久久综合久久88| 日本高清无卡码一区二区久久| 国产亚洲欧美日韩二三线|