首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如
字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如
admin
2013-06-12
60
问题
字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如,输入str=“1111”,x=2,y=10,结果输出:15。如果输入str=“15”, x=10,Y=2,结果输出: 1111。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 8
int xx[N];
int fun(char *str,int x,int y)
{
int sum;
int i=0;
char *p=str;
for(i=0; i<N; i++)
xx
=0;
sum=*p-’0’;
p++;
while (*p)
{
sum=【 】;
p++;
}
i=0;
while(sum!=0)
{
xx
=【 】;
【 】;
i++;
}
return i;
}
main ()
{
char str[6];
int i;
int n;
int x;
int y;
printf("Enter a string made up of ’0’ to
’9’ digits character:");
gets(str);
if(strlen (str) >5)
{
printf("Error:string too longer!,
please input again!\n\n");
exit(0);
}
for(i=0;str
;i++)
if(str
<’0’||str
>’9’)
{
printf("Error:%c not is ’0’ to
’9’ digits character!\n\n",
str
);
exit(0);
}
printf("The original string: ");
puts(str);
printf("\nINPUT x= ");
scanf("%d",&x);
printf("\nINPUT y= ");
scanf("%d",&y);
n=fun(str,x,y);
printf("\n%s is convered to",str);
for (i=n-1; i>=0; i--)
printf("%d",xx
);
}
选项
答案
sum*x+*p-’0’ sum%y sum=sum/y
解析
第一空:为了进行数字运算,必须要将字符串中的数字字符转换为数字,用数字字符减去字符’0’的ASCII码,就得到对应的数字。将x进制数转换为十进制数的算法是:以1001为例,对应的十进制数为l*x3+0*x2+O*x+1=x*(x*(x*1+0) +0)+1。第二空:将十进制数转换为y进制数的算法与将y进制数转换为十进制数的算法正好相反,十进制数对y取余,得到y进制数的最低位。第三空:将十进制数整除y后得到的数,再对y取余,则得到y进制数的次低位,如此循环,得到y进制数的各位,转换的结果存于数值xx[N]中。
转载请注明原文地址:https://kaotiyun.com/show/PrJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下说明和定义 union dt { int a;char b; double c;} data; 以下叙述中,错误的是______。
下列程序的输出结果是______。 struct abc { int a,b,c;}; main () { struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0].a+s[1].b; printf("%d\n",t)
若以下程序所生成的可执行文件名为filel.exe,当执行该程序时输入FILE1 CHINA BEIJING SHANGHAI,程序的输出结果是______。 main (int argc,char* argv[]) { while(--argc>0){
在C语言中(以16位PC机为例),一个int型数据在内存中所占的字节数为______;一个float型数据在内存中所占的字节数为______。
数据库管理系统常见的数据模型有层次模型、网状模型和______三种。
数据库保护分为:安全性控制、______、并发性控制和数据的恢复。
以下程序的运行结果是______。 #include <stdio.h> main() {int a[]:{1,2,3,4,5,6,7,8,9,10,11,12): int *p=a+5,*q=NULL: *q=*(p+5): printf("%d %d\
若从键盘输入34,则以下程序输出的结果是______。#include<stdio.h>main(){inta;scanf("%d",&a);if(a>30)printf("%d",a);
一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用______。
读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是
随机试题
在传染病感染过程的五种表现中.所占比例最高且不易识别的是
某单洞双向交通隧道长1800m,对其进行运营环境检测,检测内容为风压、风速等,请回答以下问题。现场拟采用风表检测隧道内的风速,下列选项中关于风表的选择正确的有()。
政府服务项目采取邀请招标方式采购的,采购人应当通过随机方式选择()家以上的供应商,并向其发出投标邀请书。
以下是工业毒性的常用评价指标,其中错误的一项是()。
《劳动法》第五十三条规定:新建、同时设计、同时施工、同时改建、扩建工程的劳动安全卫生设施必须与主体工程
在国外,通常不会持有大量优先股票的机构投资者是()。
北京市甲公司与乙银行签订借款合同,约定甲公司以其所有的A大厦及其建设用地使用权为抵押物,贷款5000万元。双方办理抵押登记手续后,乙银行发放了贷款。甲公司后又在A大厦项目所在地块上增建了一幢商务配楼,尚未竣工。甲公司因另案被法院判决支付巨额债务,无法偿还乙
根据教育部2009年颁布的《中小学班主任工作规定》,班主任工作量按当地教师标准课时工作量的()进行计算。
=_______.
有二叉树如下图所示: 则前序序列为()。
最新回复
(
0
)