首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如
字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如
admin
2013-06-12
49
问题
字符串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全国计算机二级
相关试题推荐
以下程序的输出结果是______。 main () { int x=5,n=3,s,j; for(j=0;j<2;j++) { s=fun(x,n); printf("%d",s); } } fun(int a,int b) { static int n=
有以下程序 main() { int a[3][3],*p,i; p=&a[0][0]; for(i=O;i<9;i++)p[i]=i; for(i=O;i<3;i++)printf("%d",a[1][i]); } 程序运行后的输出结果是______。
已知指针p的指向如下图所示,则执行语句“--p;”后p的值是______。
有以下程序 main() { int x[]={1,3,5,7,2,4,6,0),i,j,k; for (i=o; i<3; i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]){k=x[j]; x[j]=x(j+1); x[j+1
如下程序的运行结果是______。 #include<stdio.h> main() { int x=y=3,z=1; printf ("%d%d\n",(++x,y++),z+2); }
一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用______。
串的长度是______。
下列程序把数组元素中的最大值放入a[0]中。则在if语句中的条件表达式应该是______。main(){inta[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i,bfor(i=0:i<10:i++,p+
以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。#include<stdio.h>voidf(intx[],intn){
随机试题
审美实践活动发展中最基本的两种审美形态是【】
在Word2010的图片编辑器中,不能改变图片的()
某女,60岁,子宫脱出阴道口外,摩擦损伤,最易继发下列何证
维生素C中特殊杂质是维生素E中的特殊杂质是
《国家中长期教育改革和发展规划纲要(2010--2020年)》确立了我国教育发展的战略性目标是()。
从十一届三中全会到20世80年代中期,在邓小平的领导下,中国共产党和中国政府创造性地发展了以毛泽东为代表的党的第一代领导集体的设想,提出并全面阐述了“一国两制”的战略构想,其核心目的是()。
(陕西2008—15)某商店规定每4个空啤酒瓶可以换一瓶啤酒,小明家买了24瓶啤酒,他家前后最多能喝多少瓶啤酒?()
(2004年)设A是3阶方阵,将A的第1列与第2列交换得B,再把B的第2列加到第3列得C,则满足AQ=C的可逆矩阵Q为【】
在表设计器中创建的索引都存放在:
两个或两个以上的模块之间关联的紧密程度称为()。
最新回复
(
0
)