(06)03-04春上机考解答0405

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计基础(C语言)上机考(第一套)参考解答

2003~2004学年冬学期2004年5月

/* 1-A-1 */

main()

{ long sn=0,tn=0;

int a,n,i;

scanf("%d%d",&a,&n);

for(i=1;i<=n;i++)

{ tn=tn*10+a;

sn=sn+tn;

}

printf("%ld",sn);

}

/* 1-A-2 */

main()

{ char s[80],a[80]={0},b[80]={0};

int i,j,k;

gets(s);

for(i=j=k=0;s[i];i++)

if(s[i]>='0'&&s[i]<='9')

a[j++]=s[i];

else if(s[i]>='a'&&s[i]<='z')

b[k++]=s[i]-32;

else if(s[i]>='A'&&s[i]<='Z')

b[k++]=s[i];

if(j==0) puts("There are not digits.");

else puts(a);

if(k==0) puts("There are not letters.");

else puts(b);

}

/* 1-A-3 */

main()

{ int i, j, n;

scanf("%d", &n);

if(n%2==1) n=n/2+1;

for(i=1; i<=n; i++)

{ for(j=1; j<=n-i; j++) printf(" ");

for(j=1; j<=2*i-1; j++) printf("*");

printf("\n");

}

for(i=n-1; i>=1; i--)

{ for(j=1; j<=n-i; j++) printf(" ");

for(j=1; j<=2*i-1; j++) printf("*");

printf("\n");

}

}

/* 1-B-1 */

main()

{ char ch[80],a[80],b[80],c[80];

int i,j;

gets(ch);

for(i=0;ch[i]!='g';i++)

a[i]=ch[i];

a[i]='\0';

for(j=0,i++;ch[i]!='g';i++,j++)

b[j]=ch[i];

b[j]='\0';

for(j=0,i++;ch[i-1];i++,j++)

c[j]=ch[i];

puts(a);

puts(b);

puts(c);

}

/* 1-B-2 */

main()

{ float h=100, s;

int i;

for(s=h, i=2; i<=10; i++)

{ h=2./3.*h;

s=s+2*h;

}

h=2./3.*h;

printf("%f %f\n", h, s);

}

/* 1-B-3 */

main()

{ char a[80],b[80];

int i;

gets(a); gets(b);

for(i=0;;i++)

if(a[i]

{ puts(b); break; }

else if (b[i]

{ puts(a); break; }

else if(a[i]=='\0'&&b[i]=='\0') { puts("Both equal."); break; } }

程序设计基础(C语言)上机考(第二套)参考解答

/* 2-A-1 */

void SumOddEven(int a, int b, int *s_odd, int *s_even)

void SumOddEven (int a, int b, int *s_odd, int *s_even) { *s_even=*s_odd=0;

for(; a<=b; a++)

if(a%2) *s_odd+=a;

else *s_even+=a;

}

main()

{ int a, b, seven, sodd;

do scanf("%d%d", &a, &b);

while(b-a<=10);

SumOddEven(a, b, &sodd, &seven);

printf("%d %d\n", sodd, seven);

}

/* 2-A-2 */

#include "stdio.h"

#include "string.h"

main()

{ char a[80],min;

int i,j;

gets(a);

for(min=a[0],j=i=0;a[i];i++)

if(a[i]

{ min=a[i]; j=i; }

for(;i>j;i--)

a[i+3]=a[i];

a[i+1]='m';a[i+2]='i';a[i+3]='n';

puts(a);

}

/* 2-A-3 */

main()

{ long x,y,a,b,c,i;

scanf("%ld",&x);

for(y=x,i=0;y;i++,y=y/10);

for(a=b=0,c=1;x;i++)

{ if(i%2==0)

{ b+=(x%10)*c;

c*=10;

}

else

a=a*10+x%10;

相关文档
最新文档