C语言作业2Word格式.docx
- 文档编号:22496707
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:16
- 大小:31.26KB
C语言作业2Word格式.docx
《C语言作业2Word格式.docx》由会员分享,可在线阅读,更多相关《C语言作业2Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
scanf("
%1d"
&
a);
%1d%1d%1d%1d%1d"
b,&
c,&
q,&
e,&
f);
g,&
h,&
i,&
j,&
k);
x=a+c+e+g+i+k;
y=b+q+f+h+j;
m=x*3+y;
n=m-1;
z=n%10;
p=9-z;
printf("
%d\n"
p);
}
H2:
数制转换(选作)
成绩:
5/折扣:
0.8
我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。
这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。
譬如12和5,在十进制下它们是不等的,但若12使用3进制而5使用六进制或十进制时,它们的值就是相等的。
因此只要选择合适的进制,12和5就可以是相等的。
程序的输入是两个数字M和N(其十进制的值不超过1000000000),它们的进制在2~36之间。
对于十以下的数字,用0~9表示,而十以上的数字,则使用大写的A~Z表示。
求出分别在2~36哪种进制下M和N相等。
若相等则输出相应的进制,若不等则输出错误信息。
当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。
信息的格式见测试用例。
1.12
5↵
(base
3)
=
5
6)↵
测试用例2
1.123
456↵
is
not
equal
to
456
in
any
base
2..36↵
测试用例3
1.10
A↵
10)
A
11)↵
测试用例4
#defineN50
#include"
string.h"
stdio.h"
main()
{chara[N],b[N],d[N],e[N],d0[N];
inti,j,o,r,g,h,w,t,l,k,max1,max2;
doublep[N],q[N]={0},u[N],v[N]={0},c[N],f[N],m,n;
for(i=0;
i<
N;
i++)
{scanf("
%c"
a[i]);
if(a[i]=='
\x20'
)
{l=i;
break;
}}
gets(d);
if(d[0]!
='
)
{k=strlen(d);
gotoC;
if(d[0]=='
{strcpy(d0,d);
g=strlen(d0);
d0[i]=='
;
i++);
j=i;
g-j;
i++)d[i]=d0[i+j];
k=g-j;
}
C:
l;
{b[i]=a[l-i-1];
if(b[i]<
\x39'
&
b[i]>
\x30'
)c[i]=b[i]-'
0'
\x5A'
\x41'
7'
}
k;
{e[i]=d[k-i-1];
if(e[i]<
e[i]>
)f[i]=e[i]-'
if(e[i]<
max1=c[0];
for(i=1;
{if(max1<
c[i])max1=c[i];
if(max1==0)max1=1;
max2=f[0];
{if(max2<
f[i])max2=f[i];
if(max2==0)max2=1;
for(i=max1+1;
=36;
i++)
{for(j=0;
j<
j++)
{m=c[j];
for(g=0;
g<
j;
g++)
{m=m*i;
q[i]=q[i]+m;
}}
for(i=max2+1;
{n=f[j];
{n=n*i;
v[i]=v[i]+n;
}}
for(g=max1+1;
g++)
for(h=max2+1;
h<
h++)
{if(q[g]==v[h])
{w=g,t=h;
gotoout;
}for(i=0;
i++)printf("
a[i]);
isnotequalto"
);
d[i]);
inanybase2..36\n"
gotoouts;
out:
printf("
(base%d)="
w);
for(i=0;
(base%d)\n"
t);
outs:
}
16.空心字符菱形
输入:
菱型起始字母和菱形的高度。
输出:
参看测试用例,打印空心的由字符组成的菱形。
1.C
4↵
1.
C↵
2.
D
D↵
3.
E
E↵
4.F
F↵
5.
6.
7.
C↵
voidmain()
{
charletter;
inti,j,k,l,n;
%c%d"
letter,&
n);
n;
if(i==0)
n-1;
j++)printf("
"
letter);
elseif(i>
0)
for(j=0;
n-1-i;
letter+i);
2*i-1;
\n"
for(i=n-2;
i>
=0;
i--)
17.数字菱形
这是非信息类今年出的题目,大家来看看,你会做吗?
输入n的值,输出如下例(n=4)所示的数字菱形。
4
434
43234
4321234
n
数字菱形
友情提示:
同学们总结一下打印星号组成的实心图形程序的编程思路:
第一步,打印星号组成的正方形;
第二步,改变每行星号的个数,打印每行星号数量不一样的图形;
如果是空心图形,每行第一个和最后一个位置输出星号,其他位置输出空格。
现在我们练习输出变化的字符,在打印星号图形的基础上,原来输出*号的位置,将printf("
*"
改为printf("
%2d"
x);
当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了。
x是多少呢?
则要寻找其规律,就是该输出位置与所在行列的关系。
注意给出的测试用例,输出的数字是左对齐啊。
不用数组就可以完成。
1.3↵
3
↵
2
3.3
1
4.
↵
无限制
1.1↵
1.1
1.2↵
2.2
1.#include
<
2.int
main()
{int
i,j,k,n,t;
%d"
=n;
i++)
{for(j=1;
=n+i-1;
j++)
{if(j<
=n-i)
"
8.
else
9.
{for(k=n;
k>
=n-i+1;
k--,j++)
%-2d"
k);
10.
for(k=n-i+2;
k<
k++,j++)
}
11.
12.
13.
for(i=n+1;
=2*n-1;
14.
=3*n-i-1;
15.
=i-n)
16.
17.
{for(t=n;
t>
=i-n+1;
t--,j++)
18.
for(t=i-n+2;
t<
t++,j++)
19.
20.
21.
18.寻找特殊偶数
背景
有一种特殊偶数,它每一位上的数字都两两不相同。
我们现在需要找出四位数中某一区间内的这类偶数。
所要寻找的四位偶数的范围。
每组输入有两个数字:
第一个数字是最小范围;
第二个数字是最大范围。
如果输入遇到0,输入结束。
列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。
1.3000
3020↵
2.6040
6090↵
3.0
0↵
1.3012
3014
3016
3018
2.counter=4↵
3.6042
6048
6052
6054
6058
6072
6074
6078
6082
6084
4.counter=10↵
1.9
101↵
2.87
-1↵
1.Error↵
2.Error↵
math.h>
inti,j,k,a,b,c,d,m=0,e;
for(e=0;
e>
e++)
{scanf("
%d%d"
j);
if((i==0)||(j==0))break;
elseif((i>
9999||i<
1000)||(j>
9999||j<
1000))printf("
Error\n"
else{for(k=i;
=j;
k++)
{if(k%2==1)continue;
a=k/1000;
b=(k%1000)/100;
c=(k%100)/10;
d=k%10;
if((((a==b)||(b==c))||(c==d))||((d==a)||((a==c)||(d==b))))continue;
printf("
%d"
m+=1;
\ncounter=%d\n"
m);
m=0;
}}
H3:
猜数字(选作)
有如下一组数字,其中每个数字都在1~63之间,
3
5
7
9111315171921232527293133353739414345474951535557596163
6
710111415181922232627303134353839424346475051545558596263
4
5
712131415202122232829303136373839444546475253545560616263
8
9101112131415242526272829303140414243444546475657585960616263
1617181920212223242526272829303148495051525354555657585960616263
3233343536373839404142434445464748495051525354555657585960616263
现在需要编写一个程序,当从键盘输入某数字在且仅在哪几行出现了,该程序可以“猜”出这个数字是几。
程序的输入是一串以空白符分开的数字,当输入0时表示输入结束。
输出猜到的数字。
1.2
1.10↵
允许迟交:
是
2.#include
3.int
4.{
5.int
i,n=0;
6.while
(1)
7.{
8.scanf("
i);
9.if(i==0)break;
10.n+=pow(2,i-1);
11.}
12.printf("
n);
13.return
0;
14.}
H4:
小蜜蜂(选作)
一只小蜜蜂在如下图所示的蜂窝上爬行。
它爬行时,只能从一个格爬到相邻的大号格子中。
例如,从1号格子可以爬到2号或者3号格子,从2号则可以爬到3号或者4号格子。
请问从一个格子a爬到一个格子b一共有多少种可行的路线。
分别是起始点a和终止点b的编号。
(a和b在1~100之间,且a<
b。
1.5↵
#defineN3
intmain()
inta,b,i,k;
longc[N]={0,0,0},d[N]={1,0,0},e[N]={0,0,0};
scanf("
a,&
b);
for(;
a<
b;
a++)
{for(i=0;
{e[i]=c[i]+d[i];
c[i]=d[i];
d[i]=e[i];
for(k=0;
N-1;
if(d[k]>
=100000000)
{d[k+1]+=d[k]/100000000;
d[k]%=100000000;
if(d[2]>
0)printf("
%d%08d%08d\n"
d[2],d[1],d[0]);
elseif(d[1]>
%d%08d\n"
d[1],d[0]);
elseprintf("
d[0]);
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 作业