循环
输入一个正整数,要求: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!)"<return 0;
}
以下结果为求(1!+2!+...+20!)
sum=4.56301e+009
请按任意键继续. . .
19.输出所有的“水仙花数”,所谓“水仙花数”是指一个 3 位数,其各位数字立
方和等于该数本身。例如:153 是一水仙花数,因为 153=1³+5³+3³。
#include
using namespace std;
int main( )
{
int x,a,b,c;
cout<<"“水仙花数”有"<
#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<<"优秀人数:"<