首页>计算机>软件水平考试>模拟试题>正文
软考:《高级语言程序设计》北大上机试题(六)

www.zige365.com 2008-11-11 18:56:24 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

C语言上机试题:6
1.题目:编一C程序,它能读入一串整数(用空格隔开相邻的两个整数,以-9999为输入结束标记,-9999不算在内),并以与读入次序相反的次序输出。(注:可执行文件名为e6_1.exe)

程序设计:
main()
{int a[100],i=-1,n;
printf("Please enter numbers:\n");
do {i++;
scanf("%d",&a[i]);
}
while (a[i]!=-9999);
n=i-1;
for (i=n;i>=0;i--)
printf("%d ",a[i]);
printf("\n");
}

2.题目:编一C程序,它能以字符串形式读入两个无符号正整数m和n(两个串各占一行),计算并输出这两个整数的和,其中m和n的值最大可为1000亿。(注:可执行文件名为e6_2.exe)

程序设计:
#include "stdio.h"
#include "string.h"
main()
{char m[20],n[20],mn[20];
int ml,nl,ms,ns,mns,k,i,j,f;
printf("Please enter 2 number string:\n");
scanf("%s",m);
scanf("%s",n);
ml=strlen(m);
nl=strlen(n);
if (ml<nl) {strcpy(mn,m);k=ml;strcpy(m,n);ml=nl;strcpy(n,mn);nl=k;}
for (i=ml-1,j=nl-1;i>=ml-nl-1;i--,j--) n[i]=n[j];
for (i=0;i<ml-nl;i++) n[i]='0';
for (i=ml-1;i>=0;i--)
{ms=m[i]-48;
ns=n[i]-48;
mns=ms+ns;
if (mns<10) f=0;
else f=1;
if (mns<10) m[i]+=ns;
else {m[i]+=ns-10;
m[i-1]+=f;
}
}
if (f==0) printf("%s\n",m);
else {for (i=ml;i>0;i--) m[i]=m[i-1];m[0]='1';printf("%s\n",m);}
}

本新闻共2页,当前在第1页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
08年11月软考英语考前练习试题及答案汇总
08年11月软考英语考前练习试题及翻译(1)
08年11月软考英语考前练习及解析(18)
08年11月软考英语考前练习试题及解析(17)
08年11月软考英语考前练习试题及解析(16)
08年11月软考英语考前练习试题及解析(15)