第三章上机实验+课本14 while dowhile习题解答.docx
《第三章上机实验+课本14 while dowhile习题解答.docx》由会员分享,可在线阅读,更多相关《第三章上机实验+课本14 while dowhile习题解答.docx(17页珍藏版)》请在冰点文库上搜索。
第三章上机实验+课本14whiledowhile习题解答
课本P66页第三章第四大题
1、求100之内的自然数中奇数之和(课本P66四1)。
#include
voidmain()
{
inti=1,sum=0;
while(i<100)
sum+=i;
i+=2;
}
cout<<"100之内自然数中奇数之和为"<}2、求100之内的自然数中被13整除的最大数。#includevoidmain(){inta=100;while(a%13!=0)a--;cout<<"100之内的自然数中被13整除的最大数为"<}同学另解:#includeintmain(){inti=0,a;while(i<=100){i=i+13;}a=i-13;cout<<"\n最大数为"<}#includemain(){intmax;inti=0;while(i<=100){if(i%13==0)max=i;i++;}cout<<"100之内的自然数中被13整除的最大数为:"<}程序没错,就是运行效率差些,求被13整除的最大数,如果从100开始逐个减1判断,比较合适,下面是修改版,当找到后用break停止循环#includeintmain(){inti=100;while(i>0){if(i%13==0)break;i--;}cout<<"100之内的自然数中被13整除的最大数为:"<}从100向下搜索更好#includeusingnamespacestd;intmain(){intm=0,sum=0;for(inti=100;i>=1;i--){if(i%13==0){if(i>m)m=i;break;}}cout<return0;}3、求输入两个正整数的最大公约数和最小公倍数辗转相除法求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。例如求1515和600的最大公约数,第一次:用600除1515,商2余315;第二次:用315除600,商1余285;第三次:用285除315,商1余30;第四次:用30除285,商9余15;第五次:用15除30,商2余0。1515和600的最大公约数是15。参照谭浩强C程序设计第四版学习辅导P40页第3题或谭浩强C++程序设计题解与上机辅导P23页第15题#includeusingnamespacestd;intmain(){intx1,x2,a,b,t,c;cout<<"请输入两个正整数";cin>>x1>>x2;if(x1{t=x1;x1=x2;x2=t;//使大的数字为x1,小的数字为x2}a=x1;b=x2;while(b!=0){c=a%b;a=b;b=c;//辗转相除求公约数法}cout<<"最大公约数是"<cout<<"最大公倍数是"<}#includeusingnamespacestd;intmain(){inta,b,c,d,e;cout<<"请输入两个正整数:";cin>>a>>b;if(a>0&&b>0){c=a>b?a:b;d=aa:b;e=c%d;while(e>0){c=d;d=e;e=c%d;}cout<<"两个正整数的最大公约数为:"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
2、求100之内的自然数中被13整除的最大数。
inta=100;
while(a%13!
=0)a--;
cout<<"100之内的自然数中被13整除的最大数为"<}同学另解:#includeintmain(){inti=0,a;while(i<=100){i=i+13;}a=i-13;cout<<"\n最大数为"<}#includemain(){intmax;inti=0;while(i<=100){if(i%13==0)max=i;i++;}cout<<"100之内的自然数中被13整除的最大数为:"<}程序没错,就是运行效率差些,求被13整除的最大数,如果从100开始逐个减1判断,比较合适,下面是修改版,当找到后用break停止循环#includeintmain(){inti=100;while(i>0){if(i%13==0)break;i--;}cout<<"100之内的自然数中被13整除的最大数为:"<}从100向下搜索更好#includeusingnamespacestd;intmain(){intm=0,sum=0;for(inti=100;i>=1;i--){if(i%13==0){if(i>m)m=i;break;}}cout<return0;}3、求输入两个正整数的最大公约数和最小公倍数辗转相除法求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。例如求1515和600的最大公约数,第一次:用600除1515,商2余315;第二次:用315除600,商1余285;第三次:用285除315,商1余30;第四次:用30除285,商9余15;第五次:用15除30,商2余0。1515和600的最大公约数是15。参照谭浩强C程序设计第四版学习辅导P40页第3题或谭浩强C++程序设计题解与上机辅导P23页第15题#includeusingnamespacestd;intmain(){intx1,x2,a,b,t,c;cout<<"请输入两个正整数";cin>>x1>>x2;if(x1{t=x1;x1=x2;x2=t;//使大的数字为x1,小的数字为x2}a=x1;b=x2;while(b!=0){c=a%b;a=b;b=c;//辗转相除求公约数法}cout<<"最大公约数是"<cout<<"最大公倍数是"<}#includeusingnamespacestd;intmain(){inta,b,c,d,e;cout<<"请输入两个正整数:";cin>>a>>b;if(a>0&&b>0){c=a>b?a:b;d=aa:b;e=c%d;while(e>0){c=d;d=e;e=c%d;}cout<<"两个正整数的最大公约数为:"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
同学另解:
intmain()
{inti=0,a;
while(i<=100)
i=i+13;
a=i-13;
cout<<"\n最大数为"<}#includemain(){intmax;inti=0;while(i<=100){if(i%13==0)max=i;i++;}cout<<"100之内的自然数中被13整除的最大数为:"<}程序没错,就是运行效率差些,求被13整除的最大数,如果从100开始逐个减1判断,比较合适,下面是修改版,当找到后用break停止循环#includeintmain(){inti=100;while(i>0){if(i%13==0)break;i--;}cout<<"100之内的自然数中被13整除的最大数为:"<}从100向下搜索更好#includeusingnamespacestd;intmain(){intm=0,sum=0;for(inti=100;i>=1;i--){if(i%13==0){if(i>m)m=i;break;}}cout<return0;}3、求输入两个正整数的最大公约数和最小公倍数辗转相除法求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。例如求1515和600的最大公约数,第一次:用600除1515,商2余315;第二次:用315除600,商1余285;第三次:用285除315,商1余30;第四次:用30除285,商9余15;第五次:用15除30,商2余0。1515和600的最大公约数是15。参照谭浩强C程序设计第四版学习辅导P40页第3题或谭浩强C++程序设计题解与上机辅导P23页第15题#includeusingnamespacestd;intmain(){intx1,x2,a,b,t,c;cout<<"请输入两个正整数";cin>>x1>>x2;if(x1{t=x1;x1=x2;x2=t;//使大的数字为x1,小的数字为x2}a=x1;b=x2;while(b!=0){c=a%b;a=b;b=c;//辗转相除求公约数法}cout<<"最大公约数是"<cout<<"最大公倍数是"<}#includeusingnamespacestd;intmain(){inta,b,c,d,e;cout<<"请输入两个正整数:";cin>>a>>b;if(a>0&&b>0){c=a>b?a:b;d=aa:b;e=c%d;while(e>0){c=d;d=e;e=c%d;}cout<<"两个正整数的最大公约数为:"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
main()
intmax;
inti=0;
if(i%13==0)
max=i;
i++;
cout<<"100之内的自然数中被13整除的最大数为:
"<}程序没错,就是运行效率差些,求被13整除的最大数,如果从100开始逐个减1判断,比较合适,下面是修改版,当找到后用break停止循环#includeintmain(){inti=100;while(i>0){if(i%13==0)break;i--;}cout<<"100之内的自然数中被13整除的最大数为:"<}从100向下搜索更好#includeusingnamespacestd;intmain(){intm=0,sum=0;for(inti=100;i>=1;i--){if(i%13==0){if(i>m)m=i;break;}}cout<return0;}3、求输入两个正整数的最大公约数和最小公倍数辗转相除法求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。例如求1515和600的最大公约数,第一次:用600除1515,商2余315;第二次:用315除600,商1余285;第三次:用285除315,商1余30;第四次:用30除285,商9余15;第五次:用15除30,商2余0。1515和600的最大公约数是15。参照谭浩强C程序设计第四版学习辅导P40页第3题或谭浩强C++程序设计题解与上机辅导P23页第15题#includeusingnamespacestd;intmain(){intx1,x2,a,b,t,c;cout<<"请输入两个正整数";cin>>x1>>x2;if(x1{t=x1;x1=x2;x2=t;//使大的数字为x1,小的数字为x2}a=x1;b=x2;while(b!=0){c=a%b;a=b;b=c;//辗转相除求公约数法}cout<<"最大公约数是"<cout<<"最大公倍数是"<}#includeusingnamespacestd;intmain(){inta,b,c,d,e;cout<<"请输入两个正整数:";cin>>a>>b;if(a>0&&b>0){c=a>b?a:b;d=aa:b;e=c%d;while(e>0){c=d;d=e;e=c%d;}cout<<"两个正整数的最大公约数为:"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
程序没错,就是运行效率差些,求被13整除的最大数,如果从100开始逐个减1判断,比较合适,下面是修改版,当找到后用break停止循环
inti=100;
while(i>0)
if(i%13==0)break;
i--;
"<
}从100向下搜索更好
usingnamespacestd;
intm=0,sum=0;
for(inti=100;i>=1;i--)
if(i>m)
m=i;
break;
cout<return0;}3、求输入两个正整数的最大公约数和最小公倍数辗转相除法求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。例如求1515和600的最大公约数,第一次:用600除1515,商2余315;第二次:用315除600,商1余285;第三次:用285除315,商1余30;第四次:用30除285,商9余15;第五次:用15除30,商2余0。1515和600的最大公约数是15。参照谭浩强C程序设计第四版学习辅导P40页第3题或谭浩强C++程序设计题解与上机辅导P23页第15题#includeusingnamespacestd;intmain(){intx1,x2,a,b,t,c;cout<<"请输入两个正整数";cin>>x1>>x2;if(x1{t=x1;x1=x2;x2=t;//使大的数字为x1,小的数字为x2}a=x1;b=x2;while(b!=0){c=a%b;a=b;b=c;//辗转相除求公约数法}cout<<"最大公约数是"<cout<<"最大公倍数是"<}#includeusingnamespacestd;intmain(){inta,b,c,d,e;cout<<"请输入两个正整数:";cin>>a>>b;if(a>0&&b>0){c=a>b?a:b;d=aa:b;e=c%d;while(e>0){c=d;d=e;e=c%d;}cout<<"两个正整数的最大公约数为:"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
return0;
3、求输入两个正整数的最大公约数和最小公倍数
辗转相除法求两个数的最大公约数的步骤如下:
先用小的一个数除大的一个数,得第一个余数;
再用第一个余数除小的一个数,得第二个余数;
又用第二个余数除第一个余数,得第三个余数;
这样逐次用后一个数去除前一个余数,直到余数是0为止。
那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。
例如求1515和600的最大公约数,
第一次:
用600除1515,商2余315;
第二次:
用315除600,商1余285;
第三次:
用285除315,商1余30;
第四次:
用30除285,商9余15;
第五次:
用15除30,商2余0。
1515和600的最大公约数是15。
参照谭浩强C程序设计第四版学习辅导P40页第3题
或谭浩强C++程序设计题解与上机辅导P23页第15题
intx1,x2,a,b,t,c;
cout<<"请输入两个正整数";
cin>>x1>>x2;
if(x1{t=x1;x1=x2;x2=t;//使大的数字为x1,小的数字为x2}a=x1;b=x2;while(b!=0){c=a%b;a=b;b=c;//辗转相除求公约数法}cout<<"最大公约数是"<cout<<"最大公倍数是"<}#includeusingnamespacestd;intmain(){inta,b,c,d,e;cout<<"请输入两个正整数:";cin>>a>>b;if(a>0&&b>0){c=a>b?a:b;d=aa:b;e=c%d;while(e>0){c=d;d=e;e=c%d;}cout<<"两个正整数的最大公约数为:"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
t=x1;
x1=x2;
x2=t;//使大的数字为x1,小的数字为x2
a=x1;
b=x2;
while(b!
=0)
c=a%b;
a=b;
b=c;//辗转相除求公约数法
cout<<"最大公约数是"<cout<<"最大公倍数是"<}#includeusingnamespacestd;intmain(){inta,b,c,d,e;cout<<"请输入两个正整数:";cin>>a>>b;if(a>0&&b>0){c=a>b?a:b;d=aa:b;e=c%d;while(e>0){c=d;d=e;e=c%d;}cout<<"两个正整数的最大公约数为:"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cout<<"最大公倍数是"<}#includeusingnamespacestd;intmain(){inta,b,c,d,e;cout<<"请输入两个正整数:";cin>>a>>b;if(a>0&&b>0){c=a>b?a:b;d=aa:b;e=c%d;while(e>0){c=d;d=e;e=c%d;}cout<<"两个正整数的最大公约数为:"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
inta,b,c,d,e;
cout<<"请输入两个正整数:
";
cin>>a>>b;
if(a>0&&b>0)
c=a>b?
a:
b;
d=a
e=c%d;
while(e>0)
c=d;
d=e;
cout<<"两个正整数的最大公约数为:
"<cout<<"两个正整数的最小公倍数为:"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cout<<"两个正整数的最小公倍数为:
"<}elsecout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
else
cout<<"输入错误"<return0;}同学另解1#includemain(){intnum1,num2,max,min;cout<<"请输入两个正整数:";cin>>num1>>num2;if(num1>=num2)min=num1,max=num2;elsemin=num2,max=num1;while((num1%max!=0)||(num2%max!=0))max=max-1;while((min%num1!=0)||(min%num2!=0))min=min+1;cout<<"最大公约数为:"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
同学另解1
intnum1,num2,max,min;
cout<<"请输入两个正整数:
cin>>num1>>num2;
if(num1>=num2)
min=num1,max=num2;
elsemin=num2,max=num1;
while((num1%max!
=0)||(num2%max!
=0))
max=max-1;
while((min%num1!
=0)||(min%num2!
min=min+1;
cout<<"最大公约数为:
"<"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
"<return0;}同学另解2#includevoidmain(){intm,n,i,j;cout<<"请输入两个正整数:";cin>>m>>n;i=(m>n?n:m);while(!(m%i==0&&n%i==0))i--;cout<j=(m>n?m:n);while(!(j%m==0&&j%n==0))j++;cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
同学另解2
intm,n,i,j;
cin>>m>>n;
i=(m>n?
n:
m);
while(!
(m%i==0&&n%i==0))
cout<
j=(m>n?
m:
n);
(j%m==0&&j%n==0))
j++;
cout<}4、求下列分数序列的前15项之和。(课本P66页四、4)2/1,3/2,5/3,8/5,13/8,21/13,….思路:首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b#includevoidmain(){doublei=1,a=2,b=1,sum=0,t;while(i<=15){sum+=a/b;t=a;a+=b;b=t;i++;}cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
4、求下列分数序列的前15项之和。
(课本P66页四、4)
2/1,3/2,5/3,8/5,13/8,21/13,….
思路:
首先观察分数序列,前一个分数的分子是后一个数的分母,前一个数的分子分母之和是后一个数的分子。
利用循环求前15项之和,循环体内sum用于累加第i项,a、b分别对应第i项的分子分母,累加后求下一次累加的a和b
doublei=1,a=2,b=1,sum=0,t;
while(i<=15)
sum+=a/b;
t=a;
a+=b;
b=t;
cout<<"sum="<}#includevoidmain(){doublea=2,b=1,sum=0,t;for(inti=1;i<=15;i++){sum+=a/b;t=a;a+=b;b=t;}cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
doublea=2,b=1,sum=0,t;
for(inti=1;i<=15;i++)
cout<<"sum="<}1、计算n+(n-1)+(n-2)+…+3+2+1的值#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){while(number>0){sum=sum+number;number--;}cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
1、计算n+(n-1)+(n-2)+…+3+2+1的值
intnumber;
intsum=0;
cout<<"请输入一个整数:
cin>>number;
if(number>0)
while(number>0)
sum=sum+number;
number--;
cout<<"和="<}elsecout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cout<\n",number;}#includeusingnamespacestd;intmain(){intnumber;intsum=0;cout<<"请输入一个整数:";cin>>number;if(number>0){do{sum=sum+number;number--;}while(number>0);cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
\n",number;
do
}while(number>0);
cout<<"和="<}elsecout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cout<\n",number;}while#includeintmain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
while
{intn,i=1,sum=0;
cout<<"\n请输入一个整数";
cin>>n;
if(n<=0)
cout<<"\n"<elsewhile(i<=n){sum=sum+i;i=i+1;}cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
while(i<=n)
{sum=sum+i;
i=i+1;
cout<<"\n和="<}Dowhile#includemain(){intn,i=1,sum=0;cout<<"\n请输入一个整数";cin>>n;if(n<=0)cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
Dowhile
cout<<"\n"<elsedo{sum=sum+i;i=i+1;}while(i<=n);cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
sum=sum+i;
while(i<=n);
cout<<"\n和="<}2、计算正整数各位数的和#includevoidmain(){inta,sum=0;cout<<"请输入一个正整数:";cin>>a;if(a<1)cout<<"输入错误。"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
2、计算正整数各位数的和
inta,sum=0;
cout<<"请输入一个正整数:
cin>>a;
if(a<1)cout<<"输入错误。
"<else{while(a>0){sum=sum+a%10;a=a/10;}cout<<"各位数字之和是:"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
while(a>0)
sum=sum+a%10;
a=a/10;
cout<<"各位数字之和是:
"<}}3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeusingnamespacestd;intmain(){charc;intletters=0,space=0,digit=0,others=0;cout<<"请输入一些字符:\n";while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseothers++;}cout<<"\n其中包含:\n";cout<<"字符:"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
charc;
intletters=0,space=0,digit=0,others=0;
cout<<"请输入一些字符:
\n";
while((c=getchar())!
='\n')
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
elseif(c=='')
space++;
elseif(c>='0'&&c<='9')
digit++;
others++;
cout<<"\n其中包含:
cout<<"字符:
"<cout<<"空格:"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cout<<"空格:
"<cout<<"数字:"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cout<<"数字:
"<cout<<"其他:"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cout<<"其他:
"<}4、从键盘输入一批以负数结束的学生成绩,计算平均分。#include#includeintmain(){intnum;doublegrade,total;num=0;total=0;cout<<"Entergrades:\n";cin>>grade;/*输入第1个数*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;cin>>grade;}if(num!=0)cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
4、从键盘输入一批以负数结束的学生成绩,计算平均分。
{intnum;
doublegrade,total;
num=0;total=0;
cout<<"Entergrades:
cin>>grade;/*输入第1个数*/
while(grade>=0){/*输入负数,循环结束*/
total=total+grade;
num++;
cin>>grade;
if(num!
cout<<"Gradeaverageis"<elsecout<<"Gradeaverageis0\n";return0;}解2:#includeintmain(){doublex=0,y=0,i;cout<<"Entergrades:"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cout<<"Gradeaverageis0\n";
解2:
doublex=0,y=0,i;
"<cin>>i;if(i>=0){while(i>=0){y=y+i;x++;cin>>i;}cout<<"Gradeaverageis:"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
cin>>i;
if(i>=0)
while(i>=0)
y=y+i;
x++;
cout<<"Gradeaverageis:
"<}elsecout<<"Gradeaverageis:0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
0"<return0;}5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作思路:外循环控制多次同样操作,内循环控制输出a到b的所有字符do{输入ab两个数输出a到b的所有字符询问用户是否重复同样操作cin>>ans;}while(ans=='y'||ans=='Y');#includeusingnamespacestd;intmain(){charans;inta,b;do{cout<<"请输入两个数:";cin>>a>>b;while(a<=b)/*该循环用于输出字符*/{cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
5、编写一个程序,用于接收用户输入的两个数a、b,然后显示ASCII码从a到b的所有字符,询问用户是否愿意再次同样的操作
外循环控制多次同样操作,内循环控制输出a到b的所有字符
do{输入ab两个数
输出a到b的所有字符
询问用户是否重复同样操作
cin>>ans;
while(ans=='y'||ans=='Y');
charans;
inta,b;
cout<<"请输入两个数:
while(a<=b)/*该循环用于输出字符*/
cout<<"与"<a++;/*计数器递增以移到下一个字符*/}cout<<"您是否要继续:";cin>>ans;}while(ans=='y'||ans=='Y');/*用户的选择*/}
a++;/*计数器递增以移到下一个字符*/
cout<<"您是否要继续:
while(ans=='y'||ans=='Y');/*用户的选择*/
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2