习题课1
- a+b>c=>3+4=7>5=>1 b==c =>0 1&&0 0
- a=3 a||b+c==>1 b-c==-1 ==> 1 1||-1=1
- a>b 3>4==0 !0=1 !c=0 1&&0=0
- x=a=1 !1=0 0&&任何都是0
- a+b=7 !7=0 0+c-1=4 b+c/2=4+2=6 4&&6=1
2.从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include<iostream> #include<cmath> using namespace std; int main(){ int n,t; cin>>n; while(1){ if(n>1000){ cin>>n; }else{ t=sqrt(n); cout<<t<<endl; return 0; } } return 0; }
|
3.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include<iostream> #include<cstring> using namespace std; #define N 100010 int main(){ string a; int len,zm,kg,num,qt; zm=kg=num=qt=0; getline(cin,a); len=a.length(); cout<<len<<endl; for(int i=0;i<len;i++){ if(a[i]>='0'&&a[i]<='9'){ num++; }else if(a[i]==' '){ kg++; }else if(a[i]>=65&&a[i]<=90||a[i]>=97&&a[i]<=122){ zm++; }else{ qt++; } } cout<<"字母个数"<<zm<<"数字个数"<<num<<"空格个数"<<kg<<"其他字符"<<qt<<endl; return 0; }
|
企业奖金
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #include<iostream> using namespace std; int main(){ int i,bonus=0; cin>>i; if(i<=100000){ bonus+=i*.1; }else if(i>100000&&i<=200000){ bonus+=10000+(i-100000)*.075; }else if(i>200000&&i<=400000){ bonus+=10000+7500+(i-200000)*.05; }else if(i>400000&&i<=600000){ bonus+=10000+7500+10000+(i-400000)*.03; }else if(i>600000&&i<=1000000){ bonus+=10000+7500+10000+6000+(i-600000)*.015; }else if(i>1000000){ bonus+=10000+7500+10000+6000+6000+(i-1000000)*.01; } cout<<bonus<<endl; return 0; }
#include<iostream> using namespace std; int main(){ int i,bonus=0; cin>>i; switch(i/100000){ case 0:bonus+=i*.1;break; case 1:bonus+=10000+(i-100000)*.075;break; case 2:bonus+=10000+7500+(i-200000)*.05;break; case 4:bonus+=10000+7500+10000+(i-400000)*.03;break; case 6:bonus+=10000+7500+10000+6000+(i-600000)*.015;break; case 10:bonus+=10000+7500+10000+6000+6000+(i-1000000)*.01;break; } cout<<bonus<<endl; return 0; }
|
求1!+2!+……+20!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include<iostream> using namespace std; long factorial(int n){ long s=1; for(int i=1;i<=n;i++){ s*=i; } return s; } int main(){ long n=0; for(int i=1;i<=20;i++){ n+=factorial(i); } cout<<n<<endl; }
|
7.两个乒乓球队进行比赛,各出3人。甲队为A,B,C3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程序找出3对赛手的名单。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include<iostream> using namespace std; int main(){ char a,b,c; for(a='x';a<='z';a++){ for(b='x';b<='z';b++){ if(a!=b){ for(c='x';c<='z';c++){ if(c!=a&&c!=b){ if(a!='x'&&c!='x'&&c!='z'){ cout<<"a==="<<a<<endl; cout<<"b==="<<b<<endl; cout<<"c==="<<c<<endl; } } } } } } return 0; }
|