C语言平台答案.docx
- 文档编号:3998936
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:39
- 大小:28.20KB
C语言平台答案.docx
《C语言平台答案.docx》由会员分享,可在线阅读,更多相关《C语言平台答案.docx(39页珍藏版)》请在冰豆网上搜索。
C语言平台答案
1:
求1到n的累加和(10分)
输入一个整数n,求1+2+3+……+n的累加和。
输入格式:
输入一个整数。
输出格式:
输出1~n的累加和。
输入样例:
在这里给出一组输入。
例如:
5
输出样例:
在这里给出相应的输出。
例如:
15
#include\
main()
{
inti,n,t;
scanf(%d,&n);
t=0;
for(i=1;i<=n;i++)
t=t+i;
printf(%d,t);}分)2:
求三角形面积(10输入三角形的三边长,求其面积。
3个数之间用逗号间隔。
个实数,在一行中输入能够构成三角形的输入格式:
3输出格式:
对每一组输入,在一行中输出面积值,结果保留两位小数,没有附加字符。
:
3,3,3输入样例输出样例:
#include\#include\main().
{
floata,b,c,s,w;
scanf(%f,%f,%f,&a,&b,&c);
w=(a+b+c)/2;
s=sqrt(w*(w-a)*(w-b)*(w-c));
printf(%.2f\n,s);
})3:
分段函数1(12分3、。
7-2计算分段函数,测试数据分别是、
:
输入一个数输入格式多少,输出格式:
输出x=y=多少,输出的x值均保留两位小数和y输入样例:
-3输出样例:
x=,y=
#include\#include\main(){floatx,y;
scanf(%f,&x);
if(x<0)y=fabs(x+1);
elseif(x>5)y=sin(x)+5;
elsey=2*x+1;
牰湩晴尨?
?
昲礬┽金屦砬礬?
}4:
斐波那契(Fibonacci)数列前20项。
#include\
main()
{
longinta[20]={1,1};
inti;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++)
printf(?
a[i]);
}-99+101的值。
:
求51-3+5……#include\#include\main(){inti,n,s;i=1;s=1;
for(n=1;n<=100;n=n+2)
s=s+pow(-1,i++)*n;i++;printf(s=%d,s);
}
6:
求1*2+2*3+…+20*21的值。
#include\
main()
{
inti,n,t;
n=0;
for(i=1;i<=20;i++)
{
t=i*(i+1);
n=n+t;
}
printf(%d,n);
}(107:
各位数字之和分)求任一正整数的各位数字之和。
输入格式:
输入一个正整数。
输出整数的各个位数字之和的结果。
输出格式:
#include\main(){inti,k=1,n,s,nc=1,ni,sum=0;
scanf(%d,&n);intj,t=1;for(i=1;n/t>=10;i++)
{
k+=1;
t*=10;
}
s=n;
for(i=1;i<=k;i++)
{
s=n/nc;
ni=s_x0010_;
sum+=ni;
nc*=10;
}
printf(%d,sum);
}8:
辗转相除法求最大公约数。
#include\
main()
{
intn,r,m;
scanf(%d,%d,&m,&n);
r=m%n;
while(r!
=0)
{
m=n;
n=r;
r=m%n;
}printf(gcd=%d\n,n);
}9:
猜算式2*7=3848中的数字(10分)
算式:
2*7=3848中缺少一个十位数和一个个位数。
编程求出使该算式成立时的这两个数,并输出正确的算式。
输出格式:
在一行中输出A2*B7=C的值。
#include<>
main()
{
inti,j,A,B;
for(i=1;i<=9;i++)
{
A=i*10;
for(j=1;j<=9;j++)
{
B=j;
if(3848==(A+2)*(B+70))
printf(ò*7%d=3848,i,j);
}
}
}:
输出各位数字之和能被1015)分整除的所有数(10每个数输到100输出5输出时每整除的所有数,151000之间的各位数字之和能被个一行,列列宽。
4出占.
输出格式:
在每行中输出5的满足要求的数值,每个数输出占4列列宽。
#include\
main()
{
intn,i=0,a,b,c,m;
for(n=100;n<=999;n++)
{
a=n/100;
b=n/10_x0010_;
c=n_x0010_;
m=a+b+c;
if(m==0)
{
printf(M,n);
i++;
if(i%5==0)
printf(\
);}
}}
分+n!
(10)……1!
+3!
+5!
+:
求11求+n!
……1!
+3!
+5!
+的和,要求用循环嵌套设计,n<12。
。
n的正整数12输入在一行中给出一个不超过:
输入格式
输出格式:
在一行中按照格式“n=n值,s=阶乘和”的顺序输出,其中阶乘和是正整数。
#include<>
main()
{
inti,t,n,k=1,s=0;
scanf(%d,&n);
if(n<12)
{for(i=1;i<=n;i+=2)
{
for(t=1;t<=i;t++)
k=t*k;
s=k+s;
k=1;
}printf(
=%d,s=%d,n,s);}}12:
打印等腰三角形图形
$$$$
$$$$$$$$$$$$
$$$$$$$$$
第一行图形符号前面有4个空格。
1符号占固定?
符号构成的三角图形,每个?
行由5以等腰三角形的格式输出:
输出格式
位,第一行?
符号前有4个空格。
#include<>
main()
{
inti,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
printf();
for(j=1;j<=2*i-1;j++)
printf($);
printf(\
);
}}
分:
打印倒直角三角形图形13(10)请编程序打印如下图形。
$$$$$$$$$
$$$$$
$
个空格。
1第一行图形符号前面有符号占固定?
符号构成的三角图形,每个?
行由5以倒直角三角形的格式输出:
输出格式
1位,第一行第一个?
符号前有1个空格。
#include<>
main()
{
inti,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
printf();
for(j=1;j<=6-i;j++)
printf($);
printf(\
);
}
}14)分:
打印平行四边形图形(10请编程序打印如下图形。
$$$$$$$$$$
$$$$$$$$$$$$$$$
个空格1第一行图形符号前面有输出格式:
以平行四边形的格式输出5行由?
符号构成的图形,每个?
符号占固定1位,第一行第一个?
符号前有1个空格。
#include<>
main()
{
inti,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
printf();
for(j=1;j<=5;j++)
printf($);
printf(\
);
}}15:
打印出如下图案(菱形)*************************第一行图形符号前面有5个空格位,第一行乘号前输出格式1行由乘号构成的图形,每个乘号占固定7:
以菱形的格式输出个空格。
5有.
#include\
main()
{
inti,j;
for(i=1;i<5;i++)
{
for(j=1;j<=6-i;j++)
printf();
for(j=1;j<=2*i-1;j++)
printf(*);
printf(\
);
}
for(i=1;i<4;i++)
{
for(j=1;j<=i+2;j++)
printf();
for(j=1;j<=7-2*i;j++)
printf(*);
printf(\
);
}
}
16:
打印直角九九乘法表(10分)
输出直角九九乘法口诀,输出效果如样例。
输出格式:
以左下直角的格式输出九九乘法表,每个式子按“a*b=c”形式输出,其中a和b位列宽并左对齐。
3占c位列宽,1各占.
输出样例:
1*1=1
2*1=22*2=4
3*1=33*2=63*3=9
4*1=44*2=84*3=124*4=16
5*1=55*2=105*3=155*4=205*5=25
6*1=66*2=126*3=186*4=246*5=306*6=36
7*1=77*2=147*3=217*4=287*5=357*6=427*7=49
8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64
9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81
#include\
main()
{
inti,j;
for(i=1;i<=9;i++)
{
for(j=1;j
printf(%d*%d=%-3d,i,j,i*j);
printf(\
);
}
}+2!
:
求171+n……!
+!
#include\
main()
{
intn,s,i,m;
scanf(%d,&n);
s=1;
m=0;
if(n>=1&&n<12)
for(i=1;i<=n;i++)
{
s=s*i;
m=m+s;
}
printf(m=%d,m);
}分分人数到18:
统计8090(10)(不输入若干学生成绩,分9080以负数结束输入。
计算所有学生的平均成绩并统计成绩在到含)之间的人数。
90数据之间以一个空格间隔。
:
输入格式在一行输入几个百分制实型成绩,输入负数结束输入。
人数”的顺序输出结果,其中平均分要求保留两平均分,n=ave=:
输出格式在一行中按照“位小数,人数是正整数。
#include\main(){inta,i,s=0,n=0;
floatave;scanf(%d,&a);
for(i=0;a>0;i++)
{
s=s+a;
if(a>=80&&a<90)
n++;
scanf(%d,&a);
}
ave=s*i;printf(ave=%,n=%d,ave,n);
}
19:
3个数字构数(10分)
用0-9之间不同的3个数构成一个3位数,统计出共有多少种方法。
输出格式:
按照“count=结果”格式输出,结果为整数,不加宽度控制。
#include\
main()
{
intcount,i,n=0,a,b,c;
for(i=100;i<=999;i++)
{
a=i_x0010_;
b=i/10_x0010_;
c=i/100;
if(a!
=b&&b!
=c&&a!
=c)
n++;
}
printf(count=%d,n);
}20:
π/4≈1-1/3+1/5……求π(10分)
用公式π/4≈1-1/3+1/5……求π的近似值,要求直到最后一项的绝对值小于为止。
输出格式:
按照“pi=结果”的顺序输出,其中结果输出的格式宽度为10列,并保留4位小
#include\
#include\
main()
{
intp=1;
floatsum=0,s=1,k=1;
while(fabs(s)>=1e-6)
{
sum=sum+s;
p=-p;
k=k+2;
s=p*k;
}
sum=sum*4;
printf(pi=%.4f,sum);
}
)分(10整除数的个数3:
统计两整数间被21.
输入两个整数,n1,n2(要求n1 输入格式: 在一行输入2个整数。 两个整数之间用一个空格间隔 输出格式: 按照“a=n1,b=n2,n=个数”的顺序输出。 其中n1、n2和个数的输出格式均为原样输出,不加宽度控制。 #include\ main() { inti,n1,n2,n=0; scanf(%d%d,&n1,&n2); if(n1 for(i=n1;i<=n2;i++) if(i%3==0) n++; printf(a=%d,b=%d,n=%d,n1,n2,n); })(10分22: 各位数字平方和。 如果输入的是负数,求其相反数的各s程序功能是输入一个长整数,求各位数字的平方和位数字的平方和。 例如: 输入。 14-123,输出输入格式: 直接输入一个长整数。 : 输出格式按照“s”的格式输出,其中各位数字的平方和原样输出,不加宽度控制。 sum=s#include\#include\intmain(void){intn,s,k,t; scanf(%d,&n); if(n>0) s=0;k=n; while(k! =0) { t=k_x0010_; s=s+t*t; k=k/10; }if(n<0) n=fabs(n); s=0;k=n; while(k! =0) { t=k_x0010_; s=s+t*t; k=k/10; } printf(sum=%d,s); return0; }23: 交换a和b的值(10分) 交换变量a,b的值,如输入a的值为1,b的值为5,则输出a的值为5,b的值为1。 输入格式: 输入两个整数,之间用一个空格间隔。 输出格式: 在一行中按照“a=x,b=y”的格式输出,其中x和y均是原样输出,不加宽度控制。 #include\ main() { inta,b,t; scanf(%d%d,&a,&b); { t=a; a=b; b=t; } printf(a=%d,b=%d,a,b);}): 华氏温度转化为摄氏温度24(10分。 c=5/9(f-32)fc将华氏温度转化为摄氏温度(下式中表示摄氏温度,表示华氏温度): 输入格式直接输入一个实数,没有其它任何附加字符。 位小数的实数,没有其它任2c=输出格式: 在一行中按照“结果”的顺序输出,结果为保留何附加格式控制。 #include\main(){floatf,c;scanf(%f,&f);printf(c=%.2f,c=5*(f-32)/9); }: 求25! n#include\ main() { intn,t,i; t=1; scanf(%d,&n); for(i=1;i<=n;i++) t=t*i; printf(%d,t); }26: 10个数的最大值#include\main(){intmax,i,n; for(i=1;i<=10;i++) {scanf(%d,&n); if(n>=max)max=n; }printf(max=%d,max); }: 27[1,40]3能被整除的数#include\ main() { intn; for(n=1;n<=40;n++) if(n%3==0) printf(M,n); }整除的数的和28: [1,100]能被3#include\main(){intn,t; t=0;for(n=1;n<=100;n++) if(n%3==0) t=t+n;printf(M,t); }[1,100]: 293整除的数的个数能被#include\main(){intn,t;t=0; for(n=1;n<=100;n++) if(n%3==0) t++; printf(%d,t); }30: 求1到6的阶乘的和. #include\ main() { inti,n=1; floats=0; for(i=1;i<=6;i++) { n=n*i; s=s+n; } printf(jiecheng=%.6f,s); }轮。 个整数按升序排序。 注意: 要求排序只排个无序的整数,用选择法对输入3110103#include\main(){inta[10]; inti,b,min,j,k; for(i=0;i<10;i++) scanf(%d,&a[i]); for(i=0;i<3;i++) { k=i; for(j=i+1;j<10;j++) if(a[j] if(k! =i) { b=a[i];a[i]=a[k]; a[k]=b; } }for(i=0;i<10;i++)printf(],a[i]);}32对n个整数组成的一维数组按逆序重新存储并输出(n<10)。 #include\ main() { inta[80],b[80]; inti,n; scanf(%d,&n); for(i=0;i scanf(%d,&a[i]); for(i=0;i { b[i]=a[n-i-1]; printf(M,b[i]); } return0; }33: 对n个整数组成的一维数组用顺序法按从小到大排序后输出(4 #include\ main() { inta[10]; inti,n,t,j,k; scanf(%d,&n); if(n>4&&n<10) for(i=0;i scanf(%d,&a[i]); for(i=0;i<3;i++) { k=i;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 平台 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)