1、将一个小于10位数的十进制整数转换成k(2<=k<10)进制数。(C语言写)
#include<stdio.h>
void main()
{
void output(int i,int j);
int num,i;
printf("Please input number And transform num bit:\n");/*输入数字和要转换的进制*/
scanf("%d,%d",&num,&i);
output(num,i);
}
void output()
{ int result[16]={0};/*用16位来表示*/
int k=15,temp;
do
{ temp=num%i;
rusult[k]=temp;
num/=i;
}while(num!=0);/*将取余结果放入数组末尾*/
for(k=0;k<=15;k++)/*输出*/
printf("%d",result[k]);
}2、从n个数中找出m个相邻的数,使其相加之和最大和最小的是哪m个数?并给出它的起始位置。(QB写)
INPUT"Please input number ",n '输入n的大小
INPUT"Please input neighbour number",m '输入m的大小
DIM num(n) AS INTEGER '将n的大小作为数组大小开辟数组
DIM i as INTERGER
DIM j as INTERGER '声明变量j
DIM k as INTERGER '声明变量k
DIM l as INTERGER '声明变量l
DIM x as INTERGER '声明变量x
DIM Max as INTERGER '声明变量Max
DIM Min as INTERGER '声明变量Min
FOR i=1 to n '输入数组里面的值
INPUT"Please input number:",num(i)
PRINT CHR$(010) '换行
NEXT i
for i=1 TO 3 '给Min赋初值
Min=Min+num(i)
NEXT i
FOR i=1 to n-1 '得出最大值和最小值
FOR j=i to i+m
x=x+num(j)
NEXT j
IF x>Max THEN MAX=X:k=i 'k为记录m个相邻的数相加之和最大的起始位置
IF X<Min THEN MIN=X :l=i 'l为记录m个相邻的数相加之和最小的起始位置
NEXT i
i=k;
PRINT "MAX:";num(i);"+";num(i+1);"+";num(i+1);"=";Max;"Start from";k '输出个相邻的数相加之和最大的数
i=l
PRINT "MIN:";num(i);"+";num(i+1);"+";num(i+1);"=";Min;"Start from";l '输出个相邻的数相加之和最小的数第3题用一维数组实现很容易,你只需要控制循环就行了,我不给你说了.如果你还不会,你发邮件到我邮箱,我具体给你写源码/
我的邮件地址:107211778@qq.com
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试