導航:首頁 > 源碼編譯 > 怎麼用運算符編譯成績

怎麼用運算符編譯成績

發布時間:2022-09-22 05:51:43

⑴ 用C語言程序編輯對於一次考試成績進行統計,考M科,有N人(如10人)參加,並求平均值。

求每個人的平均成績還是每門課的平均成績啊?

#include<stdio.h>
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
double N[50][5],M[5]={0},R[50]={0};
int i,j,p;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%lf",&N[i][j]);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
R[i]=R[i]+N[i][j];
R[i]=(double)R[i]/j;
}
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
M[j]=M[j]+N[i][j];
M[j]=(double)M[j]/i;
}
for(i=0,p=0;i<n;i++)
{
p++;
for(j=0;j<m;j++)
if(N[i][j]<M[j])
{p--;break;}
}
for(i=0;i<n;i++)
printf("%.2lf%c",R[i],i<(n-1)?' ':'\n');
for(j=0;j<m;j++)
printf("%.2lf%c",M[j],j<(m-1)?' ':'\n');
}
return 0;
}

⑵ 怎樣用C語言程序編輸入一個學生的成績,若成績大於等於60提示成績合格,否則提示需要努力學習的程序

#include<stdio.h>

main()
{
floati;
printf("請樓主輸入成績:");
scanf("%f",&i);
if(i>=60)
printf(" 成績合格! ");

else
printf(" 樓主要努力學習哦! ");
}

⑶ excel 表格中如何使用公式計算出每位考生的總成績(總成績=筆試成績×60%+面試成績×40%)

1、首先在excel表格中輸入已知的筆試成績和面試成績,舉例如下:

(3)怎麼用運算符編譯成績擴展閱讀:

EXCEL公式是EXCEL工作表中進行數值計算的等式。公式輸入是以「=」開始的。簡單的公式有加、減、乘、除等計算。

復雜一些的公式可能包含函數(函數:函數是預先編寫的公式,可以對一個或多個值執行運算,並返回一個或多個值。

函數可以簡化和縮短工作表中的公式,尤其在用公式執行很長或復雜的計算時。)、引用、運算符(運算符:一個標記或符號,指定表達式內執行的計算的類型。有數學、比較、邏輯和引用運算符等。)和常量(常量:不進行計算的值,因此也不會發生變化。)

參考資料:

網路-EXCEL公式

⑷ C語言:輸入一個正整數n,再輸入n個學生的百分製成績,統計各等級成績的個數。

#include <stdio.h>

int main(int argc, char *argv[])

{

int count,i,sum=0,avg;

int score[20];

int count_A=0,count_B=0,count_C=0,count_D=0,count_E=0;

printf("你要輸入幾個學生的成績:");

scanf("%d",&count);

printf("請輸入%d個學生的成績 ",count);

for(i=0;i<count;i++){

scanf("%d",&score[i]);

}

for(i=0;i<count;i++){

sum+=score[i];

}

avg=sum/count;

for(i=0;i<count;i++){

if(score[i]<=100&score[i]>=90) count_A++;

else if(score[i]<90&score[i]>=80) count_B++;

else if(score[i]<80&score[i]>=70) count_C++;

else if(score[i]<70&score[i]>=60) count_D++;

else if(score[i]<600&score[i]>=0) count_E++;

else {}

}

printf("A等的成績個數有:%d個 ",count_A);

printf("B等的成績個數有:%d個 ",count_B);

printf("C等的成績個數有:%d個 ",count_C);

printf("D等的成績個數有:%d個 ",count_D);

printf("E等的成績個數有:%d個 ",count_E);

getch();

}

這本書被 C語言開發者們稱為K&R,很多年來被當作 C語言的非正式的標准說明。人們稱這個版本的 C語言為K&R C。

(4)怎麼用運算符編譯成績擴展閱讀

起初,C語言沒有官方標准。1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。布萊恩·柯林漢(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本書,名叫《The C Programming Language》。

K&R C主要介紹了以下特色:

結構體(struct)類型

長整數(long int)類型

無符號整數(unsigned int)類型

把運算符=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道使用者要處理i = -10還是i =- 10,使得處理上產生混淆。

即使在後來ANSI C標准被提出的許多年後,K&R C仍然是許多編譯器的最 准要求,許多老舊的編譯器仍然運行K&R C的標准。

⑸ 怎麼用c++編譯一個"學生成績管理薄"程序

編譯通過
測試通過
運行正常
請及時採納
版權所有,請勿用於商業用途

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
#include<string>
class book
{ protected:
string isbn;
string name;
string writer;
string publicer;
string time;
public:
book(){}
book(string a,string b,string c,string d,string e)
{ isbn=a;
name= b;
writer=c;
publicer=d;
time=e;

}
void change_name(string a)
{ name=a;}
void change_isbn(string a)
{ isbn=a;}
void change_writer(string a)
{ writer=a;}
void change_publicer(string a)
{ publicer=a;}
void change_time(string a)
{ time=a;}
string get_name()
{return name;}

string get_isbn()
{return isbn;}

string get_writer()
{return writer;}

void display()
{
cout<<isbn<<" "<<name<<" "<<writer<<" "<<publicer<<" "<<time<<endl;

}
};

class manager:public book
{private:
book buffer[100];
int sum;
public:
manager(){sum=0;}
void add(book a)
{
if(sum>=10)
{ cout<<"添加失敗,內存已滿!"<<endl;
}
else
{buffer[sum]=a;
sum++;
cout<<"添加新條目成功,以下是本學生信息"<<endl;
}
}
void delete_by_name(book a)
{ int flag=0;
if(sum==0)
{cout<<"刪除失敗,已經沒有存檔了!"<<endl;

}

else
{
for(int i=0;i<sum;i++)

{ if(buffer[i].get_name()==a.get_name())
{ cout<<"刪除書目成功,以下是刪除的學生信息"<<endl;
buffer[i].display ();
for(int j=i;j<sum-1;j++)
{ buffer[j]=buffer[j+1]; }
flag=1;
sum--;

break;}

}
if(!flag)
{cout<<"the student does't exist!"<<endl;
}

}
}

void search_by_name(string names)
{ int flag=0;
for(int i=0;i<sum;i++)
{if(buffer[i].get_name()==names)
{ buffer[i].display ();
flag=1;}
}
if(flag==0)
{cout<<"the student does't exist!"<<endl;
}

}

void search_by_isbn(string names)
{ int flag=0;
for(int i=0;i<sum;i++)
{if(buffer[i].get_isbn()==names)
{ buffer[i].display ();
flag=1;}
}

if(flag==0)
{cout<<"the student does't exist!"<<endl;
}
}
void search_by_writer(string names)
{int flag=0;
for(int i=0;i<sum;i++)
{if(buffer[i].get_writer()==names)
{ buffer[i].display ();
flag=1;}
}

if(flag==0)
{cout<<"the student does't exist!"<<endl;
}
}
void change_isbns(string nam,string isn)
{
for(int i=0;i<sum;i++)
{if(buffer[i].get_name()==nam)
{ buffer[i].change_isbn(isn);}
}
}
void change_names(string nam,string isn)
{
for(int i=0;i<sum;i++)
{if(buffer[i].get_name()==nam)
{ buffer[i].change_name(isn);}
}
}
void change_writers(string nam,string isn)
{
for(int i=0;i<sum;i++)
{if(buffer[i].get_name()==nam)
{ buffer[i].change_writer(isn);}
}
}
void change_publicers(string nam,string isn)
{
for(int i=0;i<sum;i++)
{if(buffer[i].get_name()==nam)
{ buffer[i].change_publicer(isn);}
}
}
void change_times(string nam,string isn)
{
for(int i=0;i<sum;i++)
{if(buffer[i].get_name()==nam)
{ buffer[i].change_time(isn);}
}
}
void display_all()
{
for(int i=0;i<sum;i++)
{buffer[i].display (); }

}

void read()
{ FILE *fp;
if((fp=fopen("C:\\Users\\fei\\Desktop\\學生信息.txt","rb+"))==NULL)//注意路徑
{cout<<"文件打開失敗\n";
system("PAUSE");
exit(0);
}

fread(&sum,4,1,fp);
for(int i=0;i<sum;i++)
{
fread(&buffer[i],sizeof(buffer[i]),1,fp);}
fclose(fp);
}

void write()
{
FILE *fp2;
if((fp2=fopen("C:\\Users\\fei\\Desktop\\學生信息.txt","wb+"))==NULL)//注意路徑
{cout<<"文件打開失敗\n";
system("PAUSE");
exit(0);
}
fwrite(&sum,4,1,fp2);
for(int i=0;i<sum;i++)
{
fwrite(&buffer[i],sizeof(buffer[i]),1,fp2);}
fputc('EOF',fp2);
fclose(fp2);
}
};

//主函數
void main()
{ manager worker;
char function='0';
//worker.read (); 如果你已經建立文件保存數據,這里是先讀取數據進內存

//界面

while (function!= '6')
{
for(int i=0;i<34;i++)
{cout<<"*";}
cout<<endl;
cout<<"歡迎使用本學生成績管理系統,請選擇操作\n"<<endl;
cout<<"1 新建學生成績"<<endl;
cout<<"2 刪除學生成績"<<endl;
cout<<"3 查詢學生成績"<<endl;
cout<<"4 修改學生信息"<<endl;
cout<<"5 顯示所有學生信息"<<endl;
cout<<"6 退出系統並保存修改"<<endl;

cin>>function;

if(function=='1')
{ string a,b,c,d,e;
cout<<"請輸入學生學號"<<endl;
cin>>a;
cout<<"請輸入姓名"<<endl;
cin>>b;
cout<<"請輸入語文成績"<<endl;
cin>>c;
cout<<"請輸入數學成績"<<endl;
cin>>d;
cout<<"請輸入英語成績"<<endl;
cin>>e;
book newbook(a,b,c,d,e);
worker.add(newbook);

newbook.display();
system("PAUSE");
system("CLS");
}
else if(function=='5')
{cout<<"這是所有學生信息:"<<endl;
worker.display_all ();
system("PAUSE");
system("CLS");
}
else if(function=='2')
{ string a;
cout<<"請輸入要刪除的學生姓名"<<endl;
cin>>a;
book del(" ",a," "," "," ");
worker.delete_by_name (del);

system("PAUSE");
system("CLS");
}
else if(function=='3')
{ cout<<"請選擇查詢方式"<<endl;
cout<<"1 按學號查詢"<<endl;
cout<<"2 按姓名名查詢"<<endl;

char j;
string search;
cin>>j;
if(j=='1')
{ cout<<"請輸入學號"<<endl;
cin>>search;
cout<<"以下是查詢結果"<<endl;
worker.search_by_isbn (search);
system("PAUSE");
system("CLS");
}
else if(j=='2')
{ cout<<"請輸入姓名"<<endl;
cin>>search;
cout<<"以下是查詢結果"<<endl;
worker.search_by_name (search);
system("PAUSE");
system("CLS");
}

else
{ cout<<"輸入錯誤,請重新操作!"<<endl;

system("PAUSE");
system("CLS");
}

}

else if(function=='4')
{ cout<<"請輸入要修改的學生的名字"<<endl;
string changes;
cin>>changes;
cout<<"以下是欲修改目標現在的信息"<<endl;
worker.search_by_name (changes);
cout<<"請選擇下一步"<<endl;
cout<<"1 繼續修改"<<endl;
cout<<"2 返回首頁"<<endl;
char choose;
cin>>choose;
if(choose=='1')
{
cout<<"請選擇要修改的選項"<<endl;
cout<<"1 修改學號"<<endl;
cout<<"2 修改姓名"<<endl;
cout<<"3 修改語文成績"<<endl;
cout<<"4 修改數學成績"<<endl;
cout<<"5 修改英語成績"<<endl;
char c;
cin>>c;
if(c=='1')
{ string news;
cout<<"請輸入新的學號"<<endl;
cin>>news;
worker.change_isbns(changes,news);
cout<<"修改成功!"<<endl;
system("PAUSE");
system("CLS");

}
else if(c=='5')
{ string news;
cout<<"請輸入新的英語成績"<<endl;
cin>>news;
worker.change_times(changes,news);
cout<<"修改成功!"<<endl;
system("PAUSE");
system("CLS");

}
else if(c=='2')
{ string news;
cout<<"請輸入新的姓名"<<endl;
cin>>news;
worker.change_names(changes,news);
cout<<"修改成功!"<<endl;
system("PAUSE");
system("CLS");

}
else if(c=='3')
{ string news;
cout<<"請輸入新的語文成績"<<endl;
cin>>news;
worker.change_writers(changes,news);
cout<<"修改成功!"<<endl;
system("PAUSE");
system("CLS");

}
else if(c=='4')
{ string news;
cout<<"請輸入新的數學成績"<<endl;
cin>>news;
worker.change_publicers(changes,news);
cout<<"修改成功!"<<endl;
system("PAUSE");
system("CLS");

}
else
{cout<<"輸入錯誤,請重新操作!"<<endl;

system("PAUSE");
system("CLS");
}

}
else
{ system("CLS"); }

}
else if(function=='6')
{;}

else
{cout<<"輸入錯誤,請重新選擇!"<<endl;
system("PAUSE");
system("CLS");
}
}

//退出系統
system("CLS");
//worker.write (); //這句完成數據的文件保存
for(int i=0;i<8;i++)
{ cout<<" "<<endl;}
for(int i=0;i<55;i++)
{cout<<"*";}
cout<<endl;
cout<<"您已退出本學生成績管理系統,您的修改已經保存,歡迎再次使用!"<<endl;
for(int i=0;i<55;i++)
{cout<<"*";}
cout<<endl;
system("PAUSE");
exit(0);
}

⑹ c語言編程,根據分數劃分成績


二、目的與要求
1. 目的:
(1)基本掌握面向過程程序設計的基本思路和方法;
(2)達到熟練掌握C語言的基本知識和技能;
(3)能夠利用所學的基本知識和技能,解決簡單的程序設計問題
2. 要求
基本要求:
1. 要求利用C語言面向過程的編程思想來完成系統的設計;
2. 突出C語言的函數特徵,以多個函數實現每一個子功能;
3. 畫出功能模塊圖;
4. 進行簡單界面設計,能夠實現友好的交互;
5. 具有清晰的程序流程圖和數據結構的詳細定義;
6. 熟練掌握C語言對文件的各種操作。
創新要求:
在基本要求達到後,可進行創新設計,如系統用戶功能控制,對管理員級和一般級別的用戶系統功能操作不同
三、信息描述
輸入一個班10個學生的學號和每個學生考試三門功課(數學、英語、計算機基礎)的成績。編程計算出每個學生的總分和平均分,並按學生成績優劣排序,最後列印一張按高分到低分名次排序的成績單。要求:
1)排序用一個函數實現。
2)列印的成績單表項包括:序號,學號、數學、英語、計算機、總分、平均分。
3)按實驗報告電子模板格式填寫實驗內容。
四、功能描述
1. 學生基本信息及成績所選科目成績的錄入。
2. 基本信息的查詢(分系、班級;分科目)與修改。
3. 對每系或每班各科成績進行分析(即求單科平均成績、及格率和優秀率);
4. 對所開課程的成績分析(求其平均成績,最高分和最低分);
5. 對學生考試成績進行排名(單科按系別或班級進行排名,對每一個班級,同一學期學生總體成績進行排名,並顯示各科成績信息)
五、解決方案
1. 分析程序的功能要求,劃分程序功能模塊。
2. 畫出系統流程圖。
3. 代碼的編寫。定義數據結構和各個功能子函數。
4. 程序的功能調試。
5. 完成系統總結報告以及使用說明書
六、進度安排
此次課程設計時間為兩周,分四個階段完成:
1. 分析設計階段。指導教師應積極引導學生自主學習和鑽研問題,明確設計要求,找出實現方法,按照需求分析、總體設計、詳細設計這幾個步驟進行。
2. 編碼調試階段:根據設計分析方案編寫C代碼,然後調試該代碼,實現課題要求的功能。
3. 總結報告階段:總結設計工作,寫出課程設計說明書,要求學生寫出需求分析、總體設計、詳細設計、編碼、測試的步驟和內容。
4. 考核階段。
#include <stdio.h>
#include <stdlib.h>
#define STU_NUM 10 /*宏定義學生的數量*/
struct student /*定義一個結構體用來存放學生學號、三門課成績、總分及平均成績*/
{
char stu_id[20]; /*學生學號;*/
float score[3]; /*三門課成績;*/
float total; /*總成績;*/
float aver; /*平均成績;*/
};
/*排序用一個函數來實現*/
void SortScore(student *stu,int n)
{
student stud;
for(int i = 0; i < n-1; i++)
for(int j = i+1 ; j < n; j++)
{
if(stu[i].total < stu[j].total)
{
stud = stu[i];
stu[i] = stu[j];
stu[j] = stud;
}
}
}
int main( )
{
student stu[STU_NUM]; /*創建結構體數組中有10個元素,分別用來保存這10個人的相關信息。*/
/*輸入這十個學生的相關信息*/
for(int i = 0; i<STU_NUM; i++)
{
printf("請輸入第%d個學生的學號:",i+1);
scanf("%s",&stu[i].stu_id);
printf("輸入第%d個學生的數學成績:",i+1);
scanf("%f",&stu[i].score[0]);
printf("輸入第%d個學生的英語成績:",i+1);
scanf("%f",&stu[i].score[1]);
printf("輸入第%d個學生的計算機成績:",i+1);
scanf("%f",&stu[i].score[2]);
stu[i].total = stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].aver = stu[i].total/3;
}
printf("\n");

SortScore(stu,STU_NUM);/*調用排序函數*/
/*輸出排序後的各學生的成績*/
for(i = 0 ; i < STU_NUM; i++)
{
printf("序號: %d\t",i);
printf("學號:%s\t",stu[i].stu_id);
printf("數學:%f\t",stu[i].score[0]);
printf("英語:%f\t",stu[i].score[1]);
printf("計算機:%f\t",stu[i].score[2]);
printf("平均成績:%f\t",stu[i].aver);
printf("總分:%f\t",stu[i].total);
printf("\n\n");
}
return 0;
}
註:(源程序中主要標識符含義說明)
#define STU_NUM 10 /*宏定義學生的數量*/
struct student /*定義一個結構體用來存放學生學號、三門課成績、總分及平均成績*/
{
char stu_id[20]; /*學生學號;*/
float score[3]; /*三門課成績;*/
float total; /*總成績;*/
float aver; /*平均成績;*/
}
實驗結果:
輸入 :(只輸入後面的數字,前面的文字是自己產生的)。
請輸入第1個學生的學號:001
輸入第1個學生的數學成績:1
輸入第1個學生的英語成績:1
輸入第1個學生的計算機成績:1
請輸入第2個學生的學號:002
輸入第2個學生的數學成績:2
輸入第2個學生的英語成績:2
輸入第2個學生的計算機成績:2
請輸入第3個學生的學號:003
輸入第3個學生的數學成績:3
輸入第3個學生的英語成績:3
輸入第3個學生的計算機成績:3
請輸入第4個學生的學號:004
輸入第4個學生的數學成績:4
輸入第4個學生的英語成績:4
輸入第4個學生的計算機成績:4
請輸入第5個學生的學號:005
輸入第5個學生的數學成績:5
輸入第5個學生的英語成績:5
輸入第5個學生的計算機成績:5
請輸入第6個學生的學號:006
輸入第6個學生的數學成績:6
輸入第6個學生的英語成績:6
輸入第6個學生的計算機成績:6
請輸入第7個學生的學號:007
輸入第7個學生的數學成績:7
輸入第7個學生的英語成績:7
輸入第7個學生的計算機成績:7
請輸入第8個學生的學號:008
輸入第8個學生的數學成績:8
輸入第8個學生的英語成績:8
輸入第8個學生的計算機成績:8
請輸入第9個學生的學號:009
輸入第9個學生的數學成績:9
輸入第9個學生的英語成績:9
輸入第9個學生的計算機成績:9
請輸入第10個學生的學號:010
輸入第10個學生的數學成績:10
輸入第10個學生的英語成績:10
輸入第10個學生的計算機成績:10
輸出:
序號: 0 學號:010 數學:10.000000 英語:10.000000 計算機:10.000000
平均成績:10.000000 總分:30.000000

序號: 1 學號:009 數學:9.000000 英語:9.000000 計算機:9.000000
平均成績:9.000000 總分:27.000000

序號: 2 學號:008 數學:8.000000 英語:8.000000 計算機:8.000000
平均成績:8.000000 總分:24.000000

序號: 3 學號:007 數學:7.000000 英語:7.000000 計算機:7.000000
平均成績:7.000000 總分:21.000000

序號: 4 學號:006 數學:6.000000 英語:6.000000 計算機:6.000000
平均成績:6.000000 總分:18.000000

序號: 5 學號:005 數學:5.000000 英語:5.000000 計算機:5.000000
平均成績:5.000000 總分:15.000000

序號: 6 學號:004 數學:4.000000 英語:4.000000 計算機:4.000000
平均成績:4.000000 總分:12.000000

序號: 7 學號:003 數學:3.000000 英語:3.000000 計算機:3.000000
平均成績:3.000000 總分:9.000000

序號: 8 學號:002 數學:2.000000 英語:2.000000 計算機:2.000000
平均成績:2.000000 總分:6.000000

序號: 9 學號:001 數學:1.000000 英語:1.000000 計算機:1.000000
平均成績:1.000000 總分:3.000000
七、撰寫課程設計報告或課程設計總結
課程設計報告要求:
總結報告包括需求分析、總體設計、詳細設計、編碼(詳細寫出編程步驟)、測試的步驟和內容、課程設計總結、參考資料等,不符合以上要求者,則本次設計以不及格記。

C語言常見錯誤
書寫標識符時,忽略了大小寫字母的區別
main()
{
int a=5;
printf("%d",A);
}
編譯程序把a和A認為是兩個不同的變數名,而顯示出錯信息。C認為大寫字母和小寫字母是兩個不同的字元。習慣上,符號常量名用大寫,變數名用小寫表示,以增加可讀性。
2.忽略了變數的類型,進行了不合法的運算。
main()
{
float a,b;
printf("%d",a%b);
}
%是求余運算,得到a/b的整余數。整型變數a和b可以進行求余運算,而實型變數則不允許進行「求余」運算。
3.將字元常量與字元串常量混淆。
char c;
c="a";
在這里就混淆了字元常量與字元串常量,字元常量是由一對單引號括起來的單個字元,字元串常量是一對雙引號括起來的字元序列。C規定以「\」作字元串結束標志,它是由系統自動加上的,所以字元串「a」實際上包含兩個字元:『a'和『\',而把它賦給一個字元變數是不行的。
4.忽略了「=」與「==」的區別。
在許多高級語言中,用「=」符號作為關系運算符「等於」。如在BASIC程序中可以寫
if (a=3) then …
但C語言中,「=」是賦值運算符,「==」是關系運算符。如:
if (a==3) a=b;
前者是進行比較,a是否和3相等,後者表示如果a和3相等,把b值賦給a。由於習慣問題,初學者往往會犯這樣的錯誤。
5.忘記加分號。
分號是C語句中不可缺少的一部分,語句末尾必須有分號。
a=1
b=2
編譯時,編譯程序在「a=1」後面沒發現分號,就把下一行「b=2」也作為上一行語句的一部分,這就會出現語法錯誤。改錯時,有時在被指出有錯的一行中未發現錯誤,就需要看一下上一行是否漏掉了分號。
{ z=x+y;
t=z/100;
printf("%f",t);
}
對於復合語句來說,最後一個語句中最後的分號不能忽略不寫(這是和PASCAL不同的)。
6.多加分號。
對於一個復合語句,如:
{ z=x+y;
t=z/100;
printf("%f",t);
};
復合語句的花括弧後不應再加分號,否則將會畫蛇添足。
又如:
if (a%3==0);
I++;
本是如果3整除a,則I加1。但由於if (a%3==0)後多加了分號,則if語句到此結束,程序將執行I++語句,不論3是否整除a,I都將自動加1。
再如:
for (I=0;I<5;I++);
{scanf("%d",&x);
printf("%d",x);}
本意是先後輸入5個數,每輸入一個數後再將它輸出。由於for()後多加了一個分號,使循環體變為空語句,此時只能輸入一個數並輸出它。
7.輸入變數時忘記加地址運算符「&」。
int a,b;
scanf("%d%d",a,b);
這是不合法的。Scanf函數的作用是:按照a、b在內存的地址將a、b的值存進去。「&a」指a在內存中的地址。
8.輸入數據的方式與要求不符。①scanf("%d%d",&a,&b);
輸入時,不能用逗號作兩個數據間的分隔符,如下面輸入不合法:
3,4
輸入數據時,在兩個數據之間以一個或多個空格間隔,也可用回車鍵,跳格鍵tab。
②scanf("%d,%d",&a,&b);
C規定:如果在「格式控制」字元串中除了格式說明以外還有其它字元,則在輸入數據時應輸入與這些字元相同的字元。下面輸入是合法的:
3,4
此時不用逗號而用空格或其它字元是不對的。
3 4 3:4
又如:
scanf("a=%d,b=%d",&a,&b);
輸入應如以下形式:
a=3,b=4
9.輸入字元的格式與要求不一致。
在用「%c」格式輸入字元時,「空格字元」和「轉義字元」都作為有效字元輸入。
scanf("%c%c%c",&c1,&c2,&c3);
如輸入a b c
字元「a」送給c1,字元「 」送給c2,字元「b」送給c3,因為%c只要求讀入一個字元,後面不需要用空格作為兩個字元的間隔。
10.輸入輸出的數據類型與所用格式說明符不一致。
例如,a已定義為整型,b定義為實型
a=3;b=4.5;
printf("%f%d\n",a,b);
編譯時不給出出錯信息,但運行結果將與原意不符。這種錯誤尤其需要注意。
11.輸入數據時,企圖規定精度。
scanf("%7.2f",&a);
這樣做是不合法的,輸入數據時不能規定精度。
12.switch語句中漏寫break語句。
例如:根據考試成績的等級列印出百分制數段。
switch(grade)
{ case 'A':printf("85~100\n");
case 'B':printf("70~84\n");
case 'C':printf("60~69\n");
case 'D':printf("<60\n");
default:printf("error\n");
由於漏寫了break語句,case只起標號的作用,而不起判斷作用。因此,當grade值為A時,printf函數在執行完第一個語句後接著執行第二、三、四、五個printf函數語句。正確寫法應在每個分支後再加上「break;」。例如
case 'A':printf("85~100\n");break;
13.忽視了while和do-while語句在細節上的區別。
(1)main()
{int a=0,I;
scanf("%d",&I);
while(I<=10)
{a=a+I;
I++;
}
printf("%d",a);
}
(2)main()
{int a=0,I;
scanf("%d",&I);
do
{a=a+I;
I++;
}while(I<=10);
printf("%d",a);
}
可以看到,當輸入I的值小於或等於10時,二者得到的結果相同。而當I>10時,二者結果就不同了。因為while循環是先判斷後執行,而do-while循環是先執行後判斷。對於大於10的數while循環一次也不執行循環體,而do-while語句則要執行一次循環體。
14.定義數組時誤用變數。
int n;
scanf("%d",&n);
int a[n];
數組名後用方括弧括起來的是常量表達式,可以包括常量和符號常量。即C不允許對數組的大小作動態定義。
15.在定義數組時,將定義的「元素個數」誤認為是可使的最大下標值。
main()
;
printf("%d",a[10]);
}
C語言規定:定義時用a[10],表示a數組有10個元素。其下標值由0開始,所以數組元素a[10]是不存在的。
16.初始化數組時,未使用靜態存儲。
int a[3]=;
這樣初始化數組是不對的。C語言規定只有靜態存儲(static)數組和外部存儲(exterm)數組才能初始化。應改為:
static int a[3]=;
17.在不應加地址運算符&的位置加了地址運算符。
scanf("%s",&str);
C語言編譯系統對數組名的處理是:數組名代表該數組的起始地址,且scanf函數中的輸入項是字元數組名,不必要再加地址符&。應改為:
scanf("%s",str);
18.同時定義了形參和函數中的局部變數。
int max(x,y)
int x,y,z;
{z=x>y?x:y;
return(z);
}
形參應該在函數體外定義,而局部變數應該在函數體內定義。應改為:
int max(x,y)
int x,y;
{int z;
z=x>y?x:y;
return(z);
}
C語言心得體會
通過這次實訓,增加了我學習軟體技術的興趣,雖然還不明確軟體技術包含的具體內容,但從C語言這門課程開始,已發現程序設計的樂趣,在學習C語言的過程中也學到了許多計算機應用基礎知識,對計算機的機體也有了一個大體的了解。
這次實訓是老師給了范常式序,經過自己的改寫,實現要求。先做簡單的輸出,一步步的再做其它圖案,在實際操作過程中犯的一些錯誤還會有意外的收獲,感覺實訓很有意思。在具體操作中對這學期所學的C語言的理論知識得到鞏固,達到實訓的基本目的,也發現自己的不足之出,在以後的上機中應更加註意,同時體會到C語言具有的語句簡潔,使用靈活,執行效率高等特點。發現上機實訓的重要作用,特別是對數組和循環有了深刻的理解。
通過實際操作,學會 C語言程序編程的基本步驟、基本方法,開發了自己的邏輯思維能力,培養了分析問題、解決問題的能力。深刻體會到「沒有做不到的,只有想不到的」,「團結就是力量」,「實踐是檢驗真理的標准」,「不恥下問」……的寓意。
計時在此希望以後應多進行這樣的實訓,加長設間,培養學生獨立思考問題的能力,提高實際操作水平。
八、參考資料 :《C語言程序設計教程》
另外,團IDC網上有許多產品團購,便宜有口碑

⑺ 設計一個學生類CStudent,包括姓名和三門課程成績,利用重載運算符「+」將所有學生C++

如下:

#include <iostream>

#include <cstring>

#include<IOMANIP>

using namespace std;

class student

{

private:

char a[20]; //不能在類定義中對非static const型變數賦值

int x ,y ,z;

int cnt; //計數器,存放成績對應的人數。默認為1個學生的成績。

public :

student():cnt(1){

a[0]='';

x=y=z=0;

}

student (char *b,int m,int k,int t):cnt(1)

{

strcpy(a,b); //字元串賦值

x=m;

y=k;

z=t;

}

student operator +(const student& s);//const 引用,提高效率

void print()

{

cout<<"course 1#,ave score:="<<fixed<<setprecision(2)<<(float) x/cnt<<endl;

cout<<"course 2#,ave score:="<<fixed<<setprecision(2)<<(float) y/cnt<<endl;

cout<<"course 3#,ave score:="<<fixed<<setprecision(2)<<(float) z/cnt<<endl;

}

};

student student:: operator +(const student& s)

{

student b;

b.x=x+s.x;

b.y=y+s.y;

b.z=z+s.z。

C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。

二十世紀八十年代,美國國家標准局為了避免各開發廠商用的C語言語法產生差異,給C語言制定了一套完整的美國國家標准語法,稱為ANSI C。

作為C語言最初的標准。2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。

⑻ C語言 分數計算怎麼編 如1+1/2+1/3+1/4+……1/n

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。

⑼ 用C語言編寫一個程序,輸入一個成績,判斷該成績是否及格。

#include<stdio.h>
intmain()
{
inti,score;
printf("EnterGrade: ");
scanf("%d",&score);
switch(score/60){
case1:printf("Pass ");break;
case0:printf("Fail ");break;
}
return0;
}
/*
輸出:
EnterGrade:
59
Fail
*/

閱讀全文

與怎麼用運算符編譯成績相關的資料

熱點內容
python實現多態 瀏覽:298
幼師pdf 瀏覽:939
你怎麼用python開發游戲 瀏覽:645
雷霆戰機伺服器異常是什麼問題 瀏覽:667
程序員客棧20 瀏覽:254
化妝pdf下載 瀏覽:923
takla伺服器ip地址 瀏覽:357
歐盟加密資產法律 瀏覽:573
威綸通反編譯密碼是多少 瀏覽:201
51單片機有40個外部引腳 瀏覽:956
山西撥號伺服器雲空間 瀏覽:714
python中階乘怎麼計算 瀏覽:530
linux查看塊大小 瀏覽:554
空調壓縮機壓力低 瀏覽:183
pdf怎麼復制粘貼文字 瀏覽:575
網上認證系統認證伺服器地址 瀏覽:302
沒有電腦怎麼領阿貝雲的伺服器 瀏覽:19
螺旋箍筋的演算法 瀏覽:268
網易進不去伺服器怎麼回事電腦版 瀏覽:892
誅仙伺服器怎麼連接 瀏覽:127