C++编程2费我好大劲才整理出来的Word下载.docx
- 文档编号:16637724
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:24
- 大小:23.33KB
C++编程2费我好大劲才整理出来的Word下载.docx
《C++编程2费我好大劲才整理出来的Word下载.docx》由会员分享,可在线阅读,更多相关《C++编程2费我好大劲才整理出来的Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
64.请编程实现:
输入几个整数,判断其中偶数的个数,并输出结果(要求:
数据的个数及原始数据由键盘输入)。
#defineN20
voidenter(inta[],intn)
inti;
for(i=0;
n;
a);
\n原始数据为:
a);
voidmain()
voidenter(int[],int);
inta[N],n;
\n输入你所要的数组元素个数:
n);
enter(a,n);
i++)
if(a%2==0)
printf("
其中的偶数是%d\n"
65.请编程实现:
输入几个整数,判断其中奇数的个数,并输出奇数的累加和。
(要求:
数据的个数及原始数据由键盘输入)
%2d"
inta[N],n,sum=0;
if(a%2==1)
{printf("
其中的奇数是%d\n"
sum=sum+a;
}printf("
奇数和是%d\n"
66.有一个两位数XY,X是十位,Y是个位;
给出X+Y的值和X*Y的值;
编程实现让用户猜测这个两位数十多少?
根据猜测给出不同的提示。
printf("
x+y=2\n"
x*y=1\n"
请输入你所猜得数字\n"
inta;
&
for(;
a!
=11;
)
{printf("
youarenotright\n"
youareright\n"
67.键盘输入的一个两位数XY,X是十位,Y是个位;
请编程计算X+Y的值和X*Y的值。
请输入一个两位数\n"
inta,x,y;
scanf("
x=a/10;
y=a%10;
x+y=%d\n"
x+y);
x*y=%d\n"
x*y);
68.用for循环语句计算1到20的和,并将结果输出。
inti=1,sum=0;
=20;
sum=sum+i;
i++;
1到20的和是%d\n"
69.从键盘输入一行字符,统计出输入的字符个数(注:
不要使用strlun函数编程)。
{
intalphabet=0,i=0;
charstr[100];
请输入一个字符串\n"
gets(str);
str!
='
\0'
;
++alphabet;
有%d个字母\n"
alphabet);
70.编程实现:
任意输入10个数,计算所有正数的和,负数的和以及10个数的和。
inti;
floata[10];
请输入任意十个数\n"
10;
a[%d]="
i);
%f"
%3f"
floatsum1=0,sum2=0,sum3=0;
{if(a>
0)sum1=sum1+a;
else
sum2=sum2+a;
sum3=sum1+sum2;
正数的和是%f"
sum1);
负数的和是%f"
sum2);
总和是%f"
sum3);
71.编程实现:
求任意20个数中的正数之和及正数的个数,并将结果输出。
floata[20];
请输入任意二十个数\n"
20;
intm=0;
floatsum=0;
if(a>
m++;
正数的个数是%d"
m);
所有数的和是%f"
72.编程实现:
对键盘输入的任意一个四位正整数,计算各位数字平方和。
如:
2345则:
计算2*2+3*3+4*4+5*5
math.h>
请输入一个四位数\n"
intx,a,b,c,d,s;
x);
a=x/1000;
b=x/100-10*a;
c=x/10-100*a-10*b;
d=x%10;
a=%d\n"
b=%d\n"
b);
c=%d\n"
c);
d=%d\n"
d);
s=a*a+b*b+c*c+d*d;
各位数字的平方和是%d\n"
73.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程。
inta=1020,c=0;
do
{a=a/2-2;
c++;
while(a!
=0);
c=%d"
74.编程实现:
打印100以内个位数为6且能被3整除的所有数。
{inti;
100;
{if(i%10==6&
&
i%3==0)
75.编程实现:
从键盘输入若干个整数(数据个数应不少于50),其值在0至4的范围内,用-1作为输入结束的标志,统计每个整数的个数。
76.编写一个函数sort,将放到一维数组中的若干个数按从大到小的顺序排序;
在主函数中输入若干个数到一个一维数组中,调用sort,对该数组进行排序,在主函数中将原数组和排好序的数组输出。
77.输入一个正整数,将其用质因子的乘积表示,并输出结果,格式为:
12=2×
2×
3。
78.输入一个正整数,求出它的质因子的和,并输出结果,格式为:
12的质因子和=2+2+3=7。
79.编写一个函数,判断一个正整数是否为完数:
如果一个数的除它本身以外的所有因数之和等于它本身,则它就是完数。
主函数中找出1000以内的所有完数。
80.编写函数GCD,求两个正整数的最大公约数,主函数中输入任意5个正整数,调用函数GCD,求出这5个数的最大公约数和最小公倍数。
81.编函数isprime判断正整m是否为素数;
如果是素数,返回正整数1,否则返回0;
主函数中调用isprime,找出2到1000之间的所有素数。
#include<
intisprime(int);
intm;
for(m=2;
m<
=1000;
m++)
if(isprime(m))
printf("
%5d"
intisprime(inta)
for(i=2;
=sqrt(a);
if(a%i==0)return0;
return1;
82.一维数组a中的若干个数已按从小到大的顺序有序;
在主函数中输入一个数,将其插入到该数组中,使得原数组依然按原序有序,分别输入原数组和插入新元素之后的数组。
inta[21],i,j,n,p,temp;
请输入数组元素的个数:
"
请输入%d个整数:
n);
for(i=1;
=n-1;
for(j=0;
j<
=n-1-i;
j++)
if(a[j]>
a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
原数组为:
\n请输入插入的数:
p);
if(p<
a)
temp=a;
a=p;
p=temp;
a[n]=p;
插入元素后的数组为:
=n;
83.有5个国家名,编程实现按字母先后顺序排序,然后分别输出原数组和排序之后的数组。
string.h>
charname[5][15],temp[15];
inti,j;
请输入国家名:
5;
gets(name);
4-i;
if(strcmp(name,name[j+1])>
strcpy(temp,name[j]);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],temp);
国家名排序后为:
%s\n"
name);
84.有一行文字,要求删去其中的某个字符,此行文字和要删的字符均由键盘输入,分别输出原文字和删除之后的文字(注:
原文字中的所有和要删除字符相同的字符完全删除)。
chara[10],N='
n'
请输入一行9个的文字:
gets(a);
原文字为:
puts(a);
=9;
if(a==N)
for(j=i;
删除后文字为:
85.打印如图所示的杨辉三角,要求打印出n行,n由键盘输入。
1
11
121
133
146
4
15101051
………
inti,j,N,a[21][21];
请输入打印的行数:
N);
N+1;
a[1]=1;
a=1;
for(i=3;
for(j=2;
=i-1;
a[j]=a[j-1]+a[j];
for(j=1;
=i;
%6d"
a[j]);
86.编一个函数实现将一个整型的一维数组中的数逆序存放,不使用辅助数组。
主函数输入一个整型的一维数组,调用上述函数,将该数组逆置,将结果输出。
#defineN10
inta[N],i,temp;
enterarraya:
arraya:
%4d"
N/2;
temp=a;
a=a[N-i-1];
a[N-i-1]=temp;
\nNow,arraya:
87.编写一个函数convert,求一个方阵的转置矩阵;
主函数中输入方阵的阶数和方阵,在主函数中将原矩阵和转置矩阵按原格式输出。
voidconvert(int[10][10]);
inta[10][10],p,q,i,j;
请输入矩阵的行和列:
q);
请输入矩阵的元素值:
p;
q;
scanf("
a[j]);
原矩阵为:
convert(a);
转置矩阵为:
voidconvert(inta[10][10])
inti,j,t;
for(j=i+1;
t=a[j];
a[j]=a[j];
a[j]=t;
88.求∏值,精度为10-5:
∏/4≈1-1/3+1/5-1/7+……
floata=1.0,b;
1.0/(2*i+1)>
0.00001;
if(i%2!
=0)
a-=1.0/(2*i+1);
else
a+=1.0/(2*i+1);
b=4.0*a;
b的值为:
%f\n"
89.用公式计算:
e≈1+1/1!
+1/2!
…+1/n!
,精度为10-6。
floatfun(int);
floate=1.0;
fun(i)>
0.00000001;
e+=fun(i);
e=%f\n"
e);
floatfun(intn)
floatterm=1.0;
term/=i;
returnterm;
90.有一分数序列
2/1,3/2,5/3,8/5,13/8,21/13
求该序列的前20项之和。
floata[22],b[20],p=0.0;
a[0]=1.0;
a[1]=1.0;
22;
a=a+a;
b=a/a;
p+=b;
p);
91.编一个子函数GCD,求两个正整数的最大公约数,主程序输入n个自然数,调GCD,求出这n个数的最大公约数。
intGCD(int,int);
inta[100],i,n,k;
请输入%d个正整数:
k=GCD(a[0],a[1]);
k=GCD(k,a);
输入的%d个正整数的最大公约数是:
n,k);
intGCD(intx,inty)
inti,min,p,q,gcd;
if(x<
=y)
min=x;
min=y;
=min;
p=x%i;
q=y%i;
if(p==0&
q==0)
gcd=i;
returngcd;
92.写函数求sin(x)的值。
计算公式为:
Sin(x)=X-X3/3!
+X5/5!
-X7/7!
+…+(-1)n-1X2n-1/(2n-1)!
。
floatfun(float,int);
floatsin(int,float);
floatterm(int);
intn;
floatx;
请输入n,x值:
sin(%f)=%f"
x,sin(n,x));
floatsin(intn,floatx)
floats=0.0;
s+=fun(-1.0,i-1)*fun(x,2*i-1)*term(2*i-1);
returns;
floatfun(floatx,intn)
floatp=1.0;
p=p*x;
returnp;
floatterm(intn)
floatq=1.0;
q/=i;
returnq;
93.编一函数使用冒泡法对若干个整数按从小到大的顺序排序,主函数中输入若干个整数到一个一维数组中,调用排序函数,将其排序,最后将原数组和排好序的数组输出。
inta[N],i,j,temp;
请输入10个整数:
原始数据为:
%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编程 好大劲才 整理 出来