当前位置:文档之家› C语言作业2

C语言作业2

期待的输出时间限制内存限制#include<stdio.h>main(){int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z;scanf("%1d",&a);scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f);scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k);x=a+c+e+g+i+k;y=b+q+f+h+j;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 相等。

若相等则输出相应的进制,若不等则输出错误信息。

当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。

信息的格式见测试用例。

测试输入期待的输出制#include"string.h"#include"stdio.h"{ char a[N],b[N],d[N],e[N],d0[N];int i,j,o,r,g,h,w,t,l,k,max1,max2;double p[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]!='\x20'){k=strlen(d);goto C;}if(d[0]=='\x20'){strcpy(d0,d);g=strlen(d0);for(i=0;d0[i]=='\x20';i++);j=i;for(i=0;i<g-j;i++) d[i]=d0[i+j];k=g-j;}C:for(i=0;i<l;i++){b[i]=a[l-i-1];if(b[i]<='\x39'&&b[i]>='\x30') c[i]=b[i]-'0';if(b[i]<='\x5A'&&b[i]>='\x41') c[i]=b[i]-'7'; }for(i=0;i<k;i++){e[i]=d[k-i-1];if(e[i]<='\x39'&&e[i]>='\x30') f[i]=e[i]-'0';if(e[i]<='\x5A'&&e[i]>='\x41') f[i]=e[i]-'7'; } max1=c[0];for(i=1;i<l;i++){if(max1<c[i]) max1=c[i];}if(max1==0) max1=1;max2=f[0];for(i=1;i<k;i++){if(max2<f[i]) max2=f[i];}if(max2==0) max2=1;for(i=max1+1;i<=36;i++){for(j=0;j<l;j++){m=c[j];for(g=0;g<j;g++){m=m*i;}q[i]=q[i]+m;}}for(i=max2+1;i<=36;i++){for(j=0;j<k;j++){n=f[j];for(g=0;g<j;g++){n=n*i;}v[i]=v[i]+n; }}for(g=max1+1;g<=36;g++)for(h=max2+1;h<=36;h++){ if(q[g]==v[h]){w=g,t=h;goto out;}} for(i=0;i<l;i++) printf("%c",a[i]);printf(" is not equal to ");for(i=0;i<k;i++) printf("%c",d[i]);printf(" in any base 2..36\n");goto outs;out:for(i=0;i<l;i++) printf("%c",a[i]);printf(" (base %d) = ",w);for(i=0;i<k;i++) printf("%c",d[i]);printf(" (base %d)\n",t);outs:; }16. 空心字符菱形成绩: 5 / 折扣: 0.8输入:菱型起始字母和菱形的高度。

输出:参看测试用例,打印空心的由字符组成的菱形。

测试输入期待的输出时间限制内存限制额外进程void main(){char letter;int i,j,k,l,n;scanf("%c %d",&letter,&n);for(i=0;i<n;i++){if(i==0){for(j=0;j<n-1;j++)printf(" ");printf("%c",letter);} else if(i>0){for(j=0;j<n-1-i;j++)printf(" ");printf("%c",letter+i);for(j=0;j<2*i-1;j++)printf(" ");printf("%c",letter+i);}printf("\n");}for(i=n-2;i>=0;i--){if(i==0){for(j=0;j<n-1;j++)printf(" ");printf("%c",letter);} else if(i>0){for(j=0;j<n-1-i;j++)printf(" ");printf("%c",letter+i);for(j=0;j<2*i-1;j++)printf(" ");printf("%c",letter+i);}printf("\n");}}17. 数字菱形成绩: 5 / 折扣: 0.8这是非信息类今年出的题目,大家来看看,你会做吗?输入n 的值,输出如下例(n=4 )所示的数字菱形。

4434432344321234432344344输入:n输出:数字菱形友情提示:同学们总结一下打印星号组成的实心图形程序的编程思路:第一步,打印星号组成的正方形;第二步,改变每行星号的个数,打印每行星号数量不一样的图形;如果是空心图形,每行第一个和最后一个位置输出星号,其他位置输出空格。

现在我们练习输出变化的字符,在打印星号图形的基础上,原来输出*号的位置,将printf("*");改为printf("%2d",x);当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了。

x是多少呢?则要寻找其规律,就是该输出位置与所在行列的关系。

注意给出的测试用例,输出的数字是左对齐啊。

不用数组就可以完成。

时间限制内存限制额外进程1.#include <stdio.h>2.int main()3. {int i,j,k,n,t;4. scanf("%d",&n);5.for(i=1;i<=n;i++)6. {for(j=1;j<=n+i-1;j++)7. {if(j<=n-i) printf(" ");8.else9. {for(k=n;k>=n-i+1;k--,j++) printf("%-2d",k);10.for(k=n-i+2;k<=n;k++,j++) printf("%-2d",k);}11. }12. printf("\n");}13.for(i=n+1;i<=2*n-1;i++)14. {for(j=1;j<=3*n-i-1;j++)15. {if(j<=i-n) printf(" ");16.else17. {for(t=n;t>=i-n+1;t--,j++) printf("%-2d",t);18.for(t=i-n+2;t<=n;t++,j++) printf("%-2d",t);}19. }20. printf("\n");}21. }18. 寻找特殊偶数成绩: 5 / 折扣: 0.8背景有一种特殊偶数,它每一位上的数字都两两不相同。

我们现在需要找出四位数中某一区间内的这类偶数。

输入所要寻找的四位偶数的范围。

每组输入有两个数字:第一个数字是最小范围;第二个数字是最大范围。

如果输入遇到0,输入结束。

输出列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。

测试输入期待的输出#include<stdio.h>#include<math.h>main(){int i,j,k,a,b,c,d,m=0,e;for(e=0;e>=0;e++){scanf("%d%d",&i,&j);if((i==0)||(j==0)) break;else if((i>9999||i<1000)||(j>9999||j<1000)) printf("Error\n");else {for(k=i;k<=j;k++){if (k%2==1) continue;测试输入时间限制内存限制允许迟交: 是1.#include <stdio.h>2.#include <math.h>3.int main()4.{5.int i,n=0;6.while(1)7.{8.scanf("%d",&i);9.if(i==0)break;10.n+=pow(2,i-1);11.}12.printf("%d\n",n);13.return 0;14.}H4:小蜜蜂(选作)成绩: 5 / 折扣: 0.8一只小蜜蜂在如下图所示的蜂窝上爬行。

相关主题