logo资料库

大一上学期C++程序设计复习资料.docx

第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
资料共25页,剩余部分请下载后查看
常用函数
循环 输入一个正整数,要求:1.求它是几位数;2.分别输出每一位数字;3.按逆序输 出各位数字。例如原数为 321,应输出 123。 #include using namespace std; int main() { long i, a, b=0; cout << "Input a integer number:" << endl; cin >> a; for (i = 0;i>=0;) { while (a!= 0) { b = a % 10; a = a / 10; cout << b <<' '; i++; } cout << "counter=" << i << endl; break; } system("pause"); return 0; } 企业发放的奖金根据利润提成。利润低于或等于 10 万元的,奖金可提 10%;利润 高于 10 万元,低于 20 万元(1000001000000 时,超过 100 万元的部分按 1%提成。 从键盘输入当月利润 i,求应发奖金总数。 要求:⑴用 if 语言编程序;⑵用 switch 语句编程序 #include using namespace std; int main() { int i,d,n; cout<<"please enter the profit:"; cin>>i;
if (i>=0&&i<=100000)n=1; if(i>100000&&i<=200000)n=2; if(i>200000&&i<=400000)n=3; if(i>400000&&i<=600000)n=4; if(i>600000&&i<=1000000)n=5; if(i>1000000)n=6; switch (n) { case 1:d=i*0.1;break; case 2:d=100000*0.1+(i-100000)*0.075;break; case 3:d=100000*0.1+100000*0.075+(i-200000)*0.05;break; case 4:d=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03;break; case 5:d=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(i-600000)*0.015; break; cas6:d=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+( i-1000000)*0.001;break; } cout< using namespace std; int main() { int i, m, n,min; cin >> m >> n; min = (m < n) ? m : n; for (i = min; i > 0; i--) { if (m%i == 0 && n%i == 0) { cout << "m 和 n 的最大公约数:" << i << endl; cout << "m 和 n 的最小公倍数:" << (i*(m / i)*(n / i)) << endl; break; } }
system("pause"); return 0; } 输入一行字符,分别统计英文字母、空格、数字、其他字符的个数 #include using namespace std; int main() { char ch; int char_num = 0, kongge_num = 0, int_num = 0, other_num = 0; while ((ch = getchar()) != '\n') { if (ch >= 'A'&&ch <= 'Z' || ch >= 'a'&&ch <= 'z') { char_num++; } else if (ch == ' ') { kongge_num++; } else if (ch >= '0'&&ch <= '9') { int_num++; } else { } other_num++; } cout << "chr_num =" << char_num << endl; cout << "kongge_num =" << kongge_num << endl; cout << "int_num =" << int_num << endl; cout << "other_num =" << other_num << endl; system("pause"); return 0; } 17、求 Sn=a+aa+aaa+……+aa…a(n 个 a)之值,其中 a 是一个数字。例如: 2+22+222+2222+22222(此时 n=5),n 由键盘输入。
#include using namespace std; int main() { int i,a,n,Sn=0,m=0; cout<<"请输入一个数字 a:"<>a; cout<<"请输入一个数字 n:"<>n; for(i=1;i<=n;i++) {m=m*10+a; Sn=Sn+m; } cout<<"所求和为:"< using namespace std; int main () { int i,n; float sum;//由于所得结果太大,会溢出,所以以单精度值来定义和。 i=n=1; sum=0; cout<<"以下结果为求(1!+2!+...+20!)"< #include int main() { int i,j,yin; for(i=1;i<1000;i++) { int s=0;
yin=i; for(j=1;j using namespace std; int main() {intDays,left; cout<<"输入天数"<>Days; cout<<"输入剩余桃子个数"<>left; do{left=(left++)*2; Days--;} while(Days!=0); cout<<"第一天摘了"<=90 为优秀),良好的人数(75<=成绩<90 为良好),合格的人数(60<=成绩<75 为合格), 不合格的人数(成绩<60 为不合格)。将上述题目中输入 30 名学生的成绩改为输 入任意人数的成绩并按上述题目的要求来统计成绩,应如何修改程序?试修改程 序并调试程序。 #include using void { namespace std; main()
grade; double int count_ex=0,count_good=0, count_pass=0,count_no_pass=0, count=1; while(count<=30) { cout<<"请输入第 "<>grade; while(grade<0||grade>100) { cout<<"数据错误!请重新输入第 "<>grade; } if(grade>=90)count_ex++; else else else count++; } cout<<"优秀人数:"<=75)count_good++; if(grade>=60)count_pass++; count_no_pass++; std; namespace 修改版 #include using void { double int count_ex=0,count_good=0, count_pass=0,count_no_pass=0, main() grade; student_num,count=1; cout<<"请输入学生总数:"<>student_num; while(count<=student_num) { cout<<"请输入第 "<>grade; while(grade<0||grade>100) { cout<<"数据错误!请重新输入第 "<>grade; }
if(grade>=75)count_good++; if(grade>=60)count_pass++; count_no_pass++; if(grade>=90)count_ex++; else else else count++; } cout<<"优秀人数:"< usingnamespace std; void main() { double grade; int count_ex=0,count_good=0,count_pass=0,count_no_pass=0; cout<<"请输入学生成绩"<>grade) { while (grade>100||grade<0) {cout<<"输入错误,请重输"<>grade; } if(grade>=90) count_ex++; elseif(grade>=75) count_good++; elseif (grade>=60)count_pass++; elseif (grade<60) count_no_pass++; } cout<<"优秀人数:"<
分享到:
收藏