一、 輸入任意4個字符(如:abcd),並按反序輸出(如:dcba)ios
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 int main(){ 6 7 string str; 8 cout<<"please input a string with 4 character"<<endl; 9 cin>>str; 10 for(int i=3;i>=0;--i) 11 cout<<str[i]; 12 cout<<endl; 13 return 0; 14 15 }//main
二、 設a、b、c均是 0 到 9 之間的數字,abc、bcc是兩個三位數,且有:abc+bcc=532。求知足條件的全部a、b、c的值。c++
#include<iostream> using namespace std; int main(){ int o=0; int p=0; for(int a=0;a<10;a++) for(int b=0;b<10;b++) for(int c=0;c<10;c++){ o=a*100+b*10+c; p=b*100+c*10+c; if(o+p==532){ cout<<a<<b<<c<<endl; } } return 0; }
三、 一個數若是剛好等於它的各因子(該數自己除外)子和,如:6=3+2+1,則稱其爲「完數」;若因子之和大於該數,則稱其爲「盈數」。求出2到60之間全部「完數」和「盈數」,並以以下形式輸出: E: e1 e2 e3 ......(ei爲完數) G: g1 g2 g3 ......(gi爲盈數)ide
#include<iostream> using namespace std; int main(){ int sum=0; int f=0; int a[60],apos=0; int b[60],bpos=0; for(int i=2;i<=60;++i) { sum=0; for(int j=1;j<=i/2;j++) if(i%j==0) sum+=j; if(sum==i) a[apos++]=i; else b[bpos++]=i; } cout<<"E:"; for(int t=0;t<apos;t++) cout<<" "<<a[t]; cout<<"\nG:"; for(int r=0;r<bpos;r++) cout<<" "<<b[r]; cout<<endl; return 0; }
四、 從鍵盤輸入4個學生的數據(包括姓名、年齡和成績),並存放在文件sf1上。從該文件讀出這些數據,按成績從高到底排序,並輸出其中成績次高者的全部數據。spa
#include<iostream> #include<fstream> #include<string> using namespace std; struct student{ char name[50]; int age; int grade; }; int main(){ student s; ofstream fout; fout.open("sf1.txt"); cout<<"please input 4 students's info"<<endl; int a=4; while(a--){ cin>>s.name>>s.age>>s.grade; fout<<s.name<<" "<<s.age<<" "<<s.grade<<endl; } ifstream fin; student stus[5]; int pos=0; fin.open("sf1.txt"); while(!fin.eof()){ fin>>s.name>>s.age>>s.grade; stus[pos++]=s; } for(int j=0;j<4;j++) for(int i=1;i<4;++i){ if(stus[i].grade<stus[i-1].grade){ s=stus[i]; stus[i]=stus[i-1]; stus[i-1]=s; } } cout<<"name "<<"age "<< "grade "<<endl; for(int i=3;i>=0;i--){ cout<<stus[i].name<<" "<<stus[i].age<<" "<<stus[i].grade<<endl; } return 0; }//mian