




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章習(xí)題2-5、計(jì)算一個(gè)人一段時(shí)期的薪水,第1天1分錢,第2天2分錢,每天翻倍。要求用戶輸入天數(shù)(輸入檢驗(yàn)),列表顯示每天的薪水,及薪水總和(輸出人民幣的單位:“元”)。#include<iostream>using namespace std;void main()int daynum;float daypay, paysum=0;docout<<"請(qǐng)輸入天數(shù)(>1整數(shù)): "cin>>daynum;while(daynum<=1);/有效性檢驗(yàn)for(int i=1; i<=daynum; i+)daypay=i/
2、100.0;cout<<"第"<<i<<"天薪水:"<<daypay <<"元t"if(i%2=0)cout<<endl;paysum+=daypay;/列表輸出每天薪水,計(jì)算總薪水 cout<<endl;cout<<"薪水總和:"<<paysum<<"元" /輸出總薪水2-7、用for循環(huán)計(jì)算1/302/29+3/28+30/1。#include<iostream>
3、;using namespace std;void main()int i;float sum=0;for(i=1;i<=30;i+)sum+=i/float(31-i);cout<<"sum="<<sum;2-8、用循環(huán)語(yǔ)句輸出如下圖形。AAAAAAA AAAAA AAA A AAA AAAAAAAAAAAA#include<iostream>using namespace std;void main()int i,j,k;for(i=0;i<=3;i+)/控制行for(j=0;j<i;j+)cout<<&
4、#39; '/控制每行輸出的' '的數(shù)目for(k=7-i;k>i;k-)/控制每行輸出的'A'的數(shù)目cout<<'A'cout<<endl;for(i=1;i<=3;i+)for(j=3;j>i;j-)cout<<' '/控制每行輸出的' '的數(shù)目for(k=0;k<2*i+1;k+)/控制每行輸出的'A'的數(shù)目cout<<'A'cout<<endl;2-9、采用循環(huán)結(jié)構(gòu)計(jì)算公式s的前30項(xiàng)
5、和。s=2/1+3/2+5/3+#include<iostream>using namespace std;#define N 30void main( )int i;float a1,a2,sum=0,temp; /a1分子,a2分母for(a1=2,a2=1,sum=0,i=1;i<=N;i+)sum+=a1/a2;temp=a1; a1=a1+a2; a2=temp; /為下一次求和做準(zhǔn)備cout<<"nsum is : "<<sum;2-10、求sum=a+aa+aaa,a和n由鍵盤輸入。#include<iostre
6、am>using namespace std;void main()int i,a,n;long sum,temp;sum=temp=0;cout<<"nEnter a and n: "cin>>a>>n;for(i=1;i<=n;i+)temp=a+temp*10;sum+=temp;cout<<"the result is : "<<sum;2-11、輸入一行字符,以回車結(jié)束,分別統(tǒng)計(jì)其中出現(xiàn)的大寫英文字母、小寫英文字母、數(shù)字字符、空格和其他字符出現(xiàn)的次數(shù)。#include<
7、;iostream>using namespace std;void main()char c; int lletters=0,uletters=0,spaces=0,digits=0,others=0;cout<<"Please enter the characters:n"while(c=cin.get()!='n')if(c>='a'&&c<='z')lletters+;else if(c>='A'&&c<='Z')
8、 uletters+; else if(c=' ') spaces+; else if(c>='0'&&c<='9') digits+; else others+; cout<<"the number of lower case letters: "<<lletters<<endl;cout<<"the number of upper case letters: "<<uletters<<endl;cout&
9、lt;<"the number of digits: "<<digits<<endl;cout<<"the number of spaces: "<<spaces<<endl;cout<<"the number of others: "<<others;第3章習(xí)題:3-1、編寫求階乘及組合的函數(shù),在主函數(shù)調(diào)用求組合的函數(shù)。#include<iostream>using namespace std;long fac(int n)long
10、 fac=1;for(int i=2;i<=n;i+)fac*=i;return fac;long comb(int n, int k)return fac(n)/(fac(k)*fac(n-k);void main()int n,k;cout<<"Please input the n and the k: "cin>>n>>k;cout<<"the combination number of n and k: "<<comb(n,k);3-2、編寫函數(shù)計(jì)算ex的近似值,在主函數(shù)中輸入x及
11、精度10-9(要求最后一項(xiàng)小于10-9)。#include<iostream>#include<cmath>using namespace std;double ex(double x,double eps) int i=1;double e=1,t=1;while(fabs(t)>eps) t=t*x/i;e=e+t;i+; return(e); void main()double x,eps;cout<<"Please inout x and eps:n" cin>>x>>eps; cout<<
12、;"e*x:n"<<ex(x,eps);3-3、編寫被調(diào)函數(shù),求出1000以內(nèi) 素?cái)?shù),在主函數(shù)中調(diào)用函數(shù)并輸出素?cái)?shù),每行輸出5個(gè)素?cái)?shù)。#include<iostream>#include<iomanip>#include<cmath>using namespace std;void PrimeNum(int n=1000) int i, j, k, flg=1, num=0;for(i=2;i<n;i+) k=sqrt(i); for(j=2;j<=k;j+) if(i%j=0) flg=0; if(flg=1)c
13、out<<setw(5)<<i;num+;if(num%5=0)cout<<endl;flg=1;void main( ) PrimeNum();3-4、輸出1000以內(nèi)的所有完數(shù)。#include<iostream>#include<iomanip>using namespace std;void print(int n)/輸出因子int i;for(i=1;i<=n/2;i+)if(n%i=0) cout<<setw(5)<<i;cout<<endl;void wanshu(int n)i
14、nt i;int a,s=0;a=n/2;for(i=1;i<=a;i+)if(n%i=0) s+=i;if(s=n)cout<<n<<" its factors are: "print(n); void main( )int i;for(i=1;i<=1000;i+)wanshu(i);3-5、編寫函數(shù)(遞歸和非遞歸)求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)。#include<iostream>using namespace std;int gcd(int x,int y)int r;r=x%y;while (r!=0)x=y;
15、y=r; r=x%y;return(y);/int gcd(int a, int b)/if(a%b=0) / return b;/else / return gcd(b, a%b);/int gbs(int x,int y)int bs,ys;ys=gcd(x,y);bs=x*y/ys;return bs;void main()int x,y,g,bs;cout<<"Enter two number: n "cin>>x>>y;g=gcd(x,y);bs=gbs(x,y);cout<<"the gcd: "
16、;<<g<<endl;cout<<"the gbs: "<<bs;3-6、遞歸函數(shù)反序輸出數(shù)位。#include<iostream>using namespace std;void rev(int x) /*反向輸出*/if(x>0)cout<<x%10; rev(x/10); void main( )int x;cout<<"Please input an integer:n"cin>>x;cout<<"reverse:"
17、;if(x<0) cout<<"-"x=-x;rev(x); 3-8、遞歸函數(shù)實(shí)現(xiàn)十進(jìn)制到二進(jìn)制轉(zhuǎn)換。#include<iostream>using namespace std;void fun(int i) if(i > 1) fun(i/2);cout<<i%2; void main() int n; cout<<"Please input the decimal number: "cin>>n; cout<<"the binary number: &quo
18、t;fun(n); 3-9、編寫函數(shù)輸出圖形。(略)3-10、編寫min函數(shù)模板和max函數(shù)模板。#include <iostream>using namespace std;template<class T> T min(T &var1,T &var2)if(var1<var2) return(var1);else return(var2);template<class T> T max(T &var1,T &var2)if(var1<var2) return(var2);else return(var1);vo
19、id main(void)int userInt1,userInt2;float userFloat1,userFloat2;char userChar1,userChar2;cout<<"Please input two integar numbers: "cin>>userInt1>>userInt2;cout<<"the min is: "<<min(userInt1,userInt2)<<endl;cout<<"the max is: "<
20、;<max(userInt1,userInt2)<<endl;cout<<"Please input two float numbers: "cin>>userFloat1>>userFloat2;cout<<"the min is: "<<min(userFloat1,userFloat2)<<endl;cout<<"the max is: "<<max(userFloat1,userFloat2)<<end
21、l;cout<<"Please input two char numbers: "cin>>userChar1>>userChar2;cout<<"the min is: "<<min(userChar1,userChar2)<<endl;cout<<"the max is: "<<max(userChar1,userChar2)<<endl;3-11、絕對(duì)值函數(shù)模板。#include <iostream>using
22、 namespace std;template<class T> T Abs(const T var)if(var<0) return(-var);else return(var);void main(void)/測(cè)試整型量求絕對(duì)值int test1=12,test2=-34;cout<<"測(cè)試整型量:"<<endl;cout<<"test1="<<test1<<"ttest1的絕對(duì)值為:"<<Abs(test1)<<endl;cou
23、t<<"test2="<<test2<<"ttest2的絕對(duì)值為:"<<Abs(test2)<<endl;/測(cè)試浮點(diǎn)型量求絕對(duì)值float test3=12.67f,test4=-34.43f;cout<<"測(cè)試浮點(diǎn)型量:"<<endl;cout<<"test3="<<test3<<"ttest3的絕對(duì)值為:"<<Abs(test3)<<endl;cou
24、t<<"test4="<<test4<<"ttest4的絕對(duì)值為:"<<Abs(test4)<<endl;第4章習(xí)題:4-1、編程實(shí)現(xiàn)由用戶輸入10個(gè)數(shù)據(jù)到數(shù)組,輸出數(shù)組中的最大值和最小值及其相應(yīng)的下標(biāo)。#include <iostream>using namespace std;#define N 10void main()int i,arrayN,max,maxid,min,minid;for(i=0;i<N;i+)cin>>arrayi;max=min=arr
25、ay0;maxid=minid=0;for(i=1;i<N;i+)if(arrayi>max)max=arrayi;maxid=i;if(arrayi<min)min=arrayi;minid=i;cout<<"the max of the array is "<<max<<endl;cout<<"the index of the max is "<<maxid<<endl;cout<<"the min of the array is &quo
26、t;<<min<<endl;cout<<"the index of the min is "<<minid<<endl;4-2、編寫函數(shù)實(shí)現(xiàn)將字符串中每個(gè)單詞的首字母大寫。#include <iostream>using namespace std;void Words( char str )int i;char ch=' ' / 存放前一字符for (i=0; stri!='0' i+ )if ( ch = ' ' && stri !=
27、' ') / 單詞數(shù)首字母if(stri>='a'&&stri<='z')stri-=32; ch = stri;void main()char str100;cout<<"Please input a string:"cin.getline(str,100);Words(str);cout<<str;4-4、編程實(shí)現(xiàn)線性查找賬號(hào),賬號(hào)由用戶輸入,若找到,則輸出合法信息,否則輸出非法信息。#include<iostream>using namespace std;
28、#define arrSize 5int searchList(int list , int numElems, int value)for(int i=0; i < numElems; i+ )if( value = listi ) return i;return -1;void main ( )int testsarrSize = 5658845, 4562555, 3852085, 4520125, 5552012;int result, x;cout<<"請(qǐng)輸入賬號(hào):"cin>>x;result = searchList(tests,
29、arrSize, x);if ( result = -1 )cout << x<< "為非法賬號(hào)。"<< endl;elsecout << x<< "為合法賬號(hào)。"4-5、采用二分查找實(shí)現(xiàn)上述程序。#include <iostream>#include <iomanip>using namespace std;#define arrSize 5void selectionSort(int a , int n)/ 選擇排序int i, j, t, minIndex;for(
30、i=0; i<n-1; i+)minIndex=i;for(j=i+1; j<n; j+)if(aj<aminIndex) minIndex=j;if( minIndex != i )t=aminIndex; aminIndex=ai; ai=t;/二分查找函數(shù),在a數(shù)組中查找valueint binarySearch(int a , int numElems, int value)int low=0, mid, hight=numElems-1;while (low<=hight)mid=(low+hight)/2;if( value = amid ) / 查找成功r
31、eturn mid; else if( value < amid ) /位于數(shù)組的前一半hight=mid-1;else low=mid+1; /位于數(shù)組的后一半return -1;void main ( )int testsarrSize = 5658845, 4562555, 3852085, 4520125, 5552012;int result, x;cout<<"請(qǐng)輸入賬號(hào):"cin>>x;selectionSort(tests,arrSize);result=binarySearch(tests,arrSize, x);if ( r
32、esult = -1 )cout << x<< "為非法賬號(hào)。"<< endl;elsecout << x<< "為合法賬號(hào)。"4-6、 尋找二維數(shù)組中的鞍點(diǎn)(該位置的元素是該行上的最大元素,同時(shí)是該列上的最小元素)。#include <iostream>#include <iomanip>using namespace std;#define M 3#define N 4 int q1=0, q2=0; /鞍點(diǎn)位置下標(biāo)int andian(int aMN, int p1
33、, int p2)int i, j, k, m, f, w, max;w=0;for(i=0; i<p1; i+)k=0;max=ai0;for(j=0; j<p2; j+)if(aij>max)k=j;max=aij;/第i行第k列為第i行的最大元素for(m=0, f=1; m<p1&&f; m+)if(amk<max) f=0;/第i行第k列不是鞍點(diǎn)if(f) w=1;q1=i;q2=k;return w; void main( )int aMN=1, 2, 3, 4, 4, 5, 3, 6, 3, 5, 6, 7; /*2,4,10,6,3
34、,4,5,8,9,1,2,3;*/int w;w=andian(a,M,N);if(w) cout<<"該二維數(shù)組存在鞍點(diǎn):"<<aq1q2<<endl;cout<<"其行標(biāo)為:"<<q1<<"t列標(biāo)為:"<<q2;else cout<<"該二維數(shù)組沒(méi)有鞍點(diǎn)。"4-7、編寫函數(shù)求一個(gè)4×4二維數(shù)組中周邊元素的和。#include <iostream>using namespace std;int a
35、rrSum(int arr4)int i,j,sum=0;for(i=0;i<4;i+)sum+=arri0;sum+=arri3;for(j=0;j<4;j+)sum+=arr0j;sum+=arr3j;sum-=arr00+arr30+arr03+arr33;return sum;void main()int a44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;cout<<"該二維數(shù)組的周邊元素之和為:"<<arrSum(a);4-8、編寫函數(shù)求二維數(shù)組兩條對(duì)角線元素之和。#include <i
36、ostream>using namespace std;#define N 4int sum(int aN)int i,s=0;for(i=0;i<N;i+)s=s+aii+aiN-i-1;return(s);void main( )int i,j,aNN;cout<<"輸入二維數(shù)組元素:n"for (i=0;i<N;i+)for(j=0;j<N;j+)cout<<"第"<<i<<"行第"<<j<<"列元素:"cin&g
37、t;>aij;cout<<"兩條對(duì)角線元素之和:"<<sum(a);4-9、見(jiàn)例題。4-10、合并數(shù)組,合并前后的數(shù)組元素均按升序排列。#include<iostream>#include<iomanip>using namespace std;int merge(int a,int b,int c,int m,int n)int i=0, j=0, k=0;while(i<m&&j<n)if(ai<=bj)ck+=ai+;else ck+=bj+;while(i<m)ck+=ai
38、+;while(j<n) ck+=bj+;return k;void main( )int a=1,4,7,9, b=3,5,7,8,12,c20,i,k;k=merge(a,b,c,4,5);cout<<"array a:n"for(i=0;i<4;i+)cout<<setw(8)<<ai;cout<<"narray b:n"for(i=0;i<5;i+)cout<<setw(8)<<bi;cout<<"nmerged array c:n&q
39、uot;for(i=0;i<k;i+)cout<<setw(8)<<ci;第5章習(xí)題:5-1、同4-2,形參換成指針即可。5-3、求一組整數(shù)的中值。#include<iostream>#include<iomanip>using namespace std;void selectionSort(int *a, int n)/ 選擇排序int i, j, t, minIndex;for(i=0; i<n-1; i+)minIndex=i;for(j=i+1; j<n; j+)if(aj<aminIndex) minIndex
40、=j;if( minIndex != i )t=aminIndex; aminIndex=ai; ai=t;int mean(int *a,int n)int mean,tmp;selectionSort(a,n);tmp=n/2;if(n%2=0)mean=atmp+atmp-1;else mean=atmp;return mean;void main()int a100,num,i;cout<<"輸入整數(shù)個(gè)數(shù)(<100):"cin>>num;cout<<"輸入"<<num<<"
41、;個(gè)整數(shù):n"for(i=0;i<num;i+)cin>>ai;cout<<"這組整數(shù)的中值是:"<<mean(a,num);5-4、編寫一個(gè)程序求一組正整數(shù)的模。在統(tǒng)計(jì)學(xué)中,模代表一組值中出現(xiàn)最頻繁的數(shù),編寫一個(gè)函數(shù)接受如下兩個(gè)參數(shù)。1)整型數(shù)組。2)代表該數(shù)組元素個(gè)數(shù)的一個(gè)整數(shù)。該函數(shù)應(yīng)當(dāng)返回這組數(shù)的模,即返回該數(shù)組中出現(xiàn)最頻繁的那個(gè)數(shù)。如果數(shù)組中沒(méi)有模,即沒(méi)有最頻繁的數(shù),那么就返回-1。 #include<iostream>#include<cmath>#include<iomanip&
42、gt;#include<ctime>using namespace std;const int value=10;int Mol(int a,int value);int main() int avalue;srand(time(0);for(int i=0;i<10;i+)ai=rand()%10;cout<<ai<<setw(5);cout<<'n'int f=Mol(a,value);if(f=-1)cout<<"沒(méi)有模!"<<endl;elsecout<<&qu
43、ot;該數(shù)組的模為:"<<f<<endl;return 0;int Mol(int a,int n)int *p=a,c=0;int bvalue;int *q=b; for(int i=0;i<n;i+) for(int j=i+1,m=0;j<n;j+) if(*(p+i)=*(p+j) m+; *(b+i)=m; for(int l=0;l<n;l+) if(*(q+l)>*(q+c) c=l; for(int m=0;m<n;m+) if(*(q+m)=*(q+c)&&m!=c) return -1; re
44、turn *(p+c);5-5、在主函數(shù)中首先輸入一個(gè)整數(shù)到變量n中,然后輸入n個(gè)整數(shù)到數(shù)組中,調(diào)用函數(shù)exchange(),完成將數(shù)組中的最小值與第0個(gè)元素對(duì)調(diào),將數(shù)組中的最大值與最后一個(gè)元素對(duì)調(diào),在主函數(shù)中調(diào)用函數(shù)print()輸出調(diào)換前和調(diào)換后的數(shù)組。要求被調(diào)函數(shù)exchange和print的參數(shù)均為1)數(shù)組名2)數(shù)組元素的個(gè)數(shù)。#include<iostream>#include<iomanip>using namespace std;void exchange(int a,int value);void print(int a,int value);int m
45、ain()int n;cin>>n; int a100;for(int i=0;i<n;i+)cin>>ai;cout<<"調(diào)換前為:" print(a,n);exchange(a,n);cout<<"調(diào)換后為:" print(a,n);return 0;void print(int a,int value)int *p=a,i;for(i=0;i<value;i+,p+)cout<<setw(4)<<*p;cout<<endl;void exchange(i
46、nt a,int value) int i,m,*p=a,t,*j=a; for(i=1,m=0;i<value;i+) (am<ai)?m=m:m=i; t=*(p+m);*(p+m)=*p;*p=t; for(i=0,m=0;i<value;i+)(am>ai)?m=m:m=i; t=*(j+m);*(j+m)=*(j+value-1);*(j+value-1)=t;5-6、在主函數(shù)中輸入十個(gè)整數(shù)到數(shù)組中,調(diào)用函數(shù)move()完成將數(shù)組元素循環(huán)移動(dòng)k位(要求函數(shù)參數(shù)為1、數(shù)組名2、數(shù)組元素個(gè)數(shù)3、循環(huán)移動(dòng)的位數(shù)k)。當(dāng)k>0時(shí),實(shí)現(xiàn)循環(huán)右移;當(dāng)k<0時(shí),
47、實(shí)現(xiàn)循環(huán)左移。循環(huán)右移一位的意義是:將數(shù)組全體元素向右移動(dòng)一個(gè)元素的位置,原數(shù)組最后一個(gè)元素移動(dòng)到數(shù)組的最前面,即第0個(gè)元素位置。提示:當(dāng)k<0時(shí),轉(zhuǎn)換成等價(jià)的循環(huán)右移。調(diào)用函數(shù)print()輸出移動(dòng)前和移動(dòng)后的全體數(shù)組元素。#include<iostream>#include<iomanip>using namespace std;void move(int x,int value,int k);void print(int x,int value);int main()int x10,i;for(i=0;i<10;i+)cin>>xi;cou
48、t<<"移動(dòng)前數(shù)組為:" print(x,10);move(x,10,3);cout<<"移動(dòng)后數(shù)組為:" print(x,10);return 0;void print(int x,int value)for(int i=0;i<value;i+)cout<<setw(5)<<xi;cout<<endl;5-7、在主函數(shù)中輸入一個(gè)字符串到字符數(shù)組str1中,調(diào)用函數(shù)將str1中的下標(biāo)為奇數(shù)的字符取出,構(gòu)成一個(gè)新的字符串放入字符數(shù)組str2中(要求被調(diào)函數(shù)參數(shù)為str1和str2),在主函
49、數(shù)中輸出結(jié)果字符串str2.#include<iostream>using namespace std;void newstr(char str1,char str2);static int m=0;void main()char str1100;char str2100;cout<<"請(qǐng)輸入一個(gè)字符串:"<<endl; cin.getline(str1,100);newstr(str1,str2);cout<<"新字符串為:"<<endl;cout<<str2<<end
50、l;void newstr(char str1,char str2) char *p,*q; q=str1; p=str2; int i=0; for(i=0;i<100;i+) if(*(q+i)='0') *(p+i/2)+1)='0' break; else if(i%2!=0) *(p+i/2)=*(q+i); 5-8、編寫一個(gè)函數(shù)palin()用來(lái)檢查一個(gè)字符串是否是正向拼寫與反向拼寫都一樣的“迴文”(palindromia).如“MADAM”是一個(gè)迴文。若放寬要求,即忽略大小寫字母的區(qū)別、忽略空格及標(biāo)點(diǎn)符號(hào)等,則像“Madam,I'm
51、Adam”之類的短語(yǔ)也可視為迴文。編程要求:1)在主函數(shù)中輸入字符串。2)將字符串首指針作為函數(shù)參數(shù)傳遞到函數(shù)palin()中。當(dāng)字符串是迴文時(shí),要求函數(shù)palin()返回true,否則返回false。3)若是迴文,在主函數(shù)中輸出yes。若不是迴文,在主函數(shù)中輸出no.#include <iostream>using namespace std;bool palin(char a);int main()char a100;cout<<"請(qǐng)輸入一個(gè)字符串:"<<endl;cin>>a;if(palin(a)cout<<
52、;"yes"<<endl;elsecout<<"no"<<endl;return 0;bool palin(char a)char *p1=a,*p2; int n,i; for(i=0,n=0;i<100;i+)if(ai>='a'&&ai<='Z') *(p1+n)=ai;n+;for(p2=p1+n;p1<p2;)if(*p1=*p2)p1+; p2-; if(p2-p1=1|p2-p1=0) return true; else return
53、 false;5-10、有n個(gè)人圍成一圈,順序排號(hào),順序號(hào)是1、2、3、.、n。從第1個(gè)人開始報(bào)號(hào),凡報(bào)到m的人退出圈子,問(wèn)最后留下的人是第幾號(hào)。要求在主函數(shù)輸入n和m,將數(shù)組a以及n、m作為參數(shù)傳遞給函數(shù)count(),在該函數(shù)中依次輸出退出圈子的人的序號(hào),最后輸出的就是留下者的序號(hào)。#include<iostream>using namespace std;void count(int n,int m,int a);int main()int n,m;cout<<"輸入n:"<<endl;cin>>n;cout<&l
54、t;"輸入m:"<<endl;cin>>m;int a100;for(int i=0;i<n;i+)ai=i+1;count(n,m,a);return 0;void count(int n,int m,int a)int i,k=0,t=0,*p=a;for(i=0;i<n;i+)pi=i+1;while (t<n-1)for(p=a;p<a+n;p+)if(*p!=0)k+;if(k=m)k=0;cout<<*p<<" "*p=0;t+;p=a;while(*p=0)p+;cou
55、t<<*p<<endl;6-1、假設(shè)每個(gè)學(xué)生信息包括學(xué)號(hào)、姓名和3門課程的考試分?jǐn)?shù)。從鍵盤輸入10個(gè)學(xué)生的數(shù)據(jù),采用結(jié)構(gòu)體數(shù)組數(shù)據(jù)的存儲(chǔ),程序?qū)崿F(xiàn)如下功能:1)輸出三門課的平均成績(jī)。2)輸出三門功課分?jǐn)?shù)分別最高的學(xué)生的信息。3)按總分對(duì)這10個(gè)學(xué)生從高到低排序,并輸出排序結(jié)果。4)輸出平均分高于80分那些學(xué)生的信息。#include <iostream>#include <iomanip>#include <cstdlib>using namespace std;struct studentint ID;char name20;dou
56、ble score3;void input(student*,int n);double average(student*,int n);void print(student*,int n);void sort(student*,int n);const int studentNumber=10;int main() student stud10; input(stud,studentNumber);print(stud,studentNumber);/sort(stud,studentNumber);return 0;/*void input(student *ps,int n) for(i
57、nt i=0;i<n;i+) cin>>ps->ID;cin>>ps->name;cin>>ps->score0>>ps->score1>>ps->score2;ps+;void average(student *ps,int n) int aver1=0,aver2=0,aver3=0; for(int i=0;i<n;i+) aver1+=ps->score0; aver2+=ps->score1; aver3+=ps->score2;ps+;aver1/=num;ave
58、r2/=num;aver3/=num;cout<<"第一門課平均成績(jī)?yōu)椋?quot;<<aver1<<endl;cout<<"第二門課平均成績(jī)?yōu)椋?quot;<<aver2<<endl;cout<<"第三門課平均成績(jī)?yōu)椋?quot;<<aver3<<endl;void max(student *ps,int n) int a=0,b=0,c=0;for(int i=1;i<n;i+) if(ps+i)->score0>(ps+a)->score0) a=i; if(p
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 康復(fù)醫(yī)療考試題(含參考答案)
- 高級(jí)營(yíng)銷員試題庫(kù)(附參考答案)
- 遠(yuǎn)程辦公服務(wù)平臺(tái)租賃協(xié)議
- 農(nóng)業(yè)生產(chǎn)資料集中采購(gòu)合作協(xié)議
- 無(wú)人機(jī)飛航測(cè)繪合作協(xié)議
- 2023年計(jì)算機(jī)軟考考試模擬試題及答案
- 道交法試題及答案解說(shuō)
- 2025福建南平市供電服務(wù)有限公司招聘52人筆試參考題庫(kù)附帶答案詳解
- 2025江蘇亞威鑄造材料科技有限公司招聘41人筆試參考題庫(kù)附帶答案詳解
- 紡織品設(shè)計(jì)的供應(yīng)鏈管理方法試題及答案
- 《零售促銷策略》課件
- 美甲店工作分工合同協(xié)議
- 天一大聯(lián)考2024-2025學(xué)年(下)高三第二次四省聯(lián)考★物理+答案
- 2025天津東疆綜合保稅區(qū)管理委員會(huì)招聘10人筆試參考題庫(kù)附帶答案詳解
- 法院書記員招聘2023年筆試考試必做題有答案
- 2024年北京大興國(guó)際機(jī)場(chǎng)臨空經(jīng)濟(jì)區(qū)幼兒園招聘教師考試真題
- 《刑法學(xué)課件 》課件各章節(jié)內(nèi)容-第十章 共同犯罪
- 雅禮新苗杯試題及答案
- 2025神農(nóng)科技集團(tuán)有限公司第一批校園招聘17人(山西)筆試參考題庫(kù)附帶答案詳解
- 醫(yī)院地震安全培訓(xùn)
- 2025-2030中國(guó)低壓電器行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
評(píng)論
0/150
提交評(píng)論