C语言编程问题!!高手救命,在线等答案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程问题!!高手救命,在线等答案相关的知识,希望对你有一定的参考价值。
#include "stdio.h"
main()
int num_two,num,i,k=0;
int count=0;
int p[1];
printf("输入\n");
scanf("%d",&num);
do
p[count]=num%2;
printf("%d ",p[count]);
num=num/2;
count++;
k++;
while(num!=0);
printf("\n");
for(count=0;count<k;count++)
printf("%d ",p[count]);
这个题目是转换2进制数,让十进制除以2的余数,存入P数组里面,输出数组的话因该是相应的倒序2进制数。
但是在定义数组那里出里问题,数组初始化必须要有个值。我定义为1的话,在循环体内每次输出数组P的值都是对的,但是结束输出数组的时候数值就不对了。
假如我把数组的初始化的大小定义大于转换为二进制数的个数的时候,输出的却都是正确的,列如 30的二进制数是11110,我定义P[5]的话输出的就都是正确的
高手指点下,我想知道我哪里错了,数组因该怎么赋值,让其可以在执行程序后改变大小。。。。谢谢了
第一个回答的高手(winelover72)
麻烦你能大概说明下你的程序吗?
我目前还是刚学到函数,有点看不懂不好意思
1,刚开是做如下循环
for(int i=1;;i++)
if(Math.pow(2,i)>num)
sizeOfArray=i;break;
来确定数组大小;
也可以直接就是用向量等容器来做
Math.pow(2,i)这个函数是用来求2的i次方的,楼主,你想想,你只要知道了这个二进制数最多有多少位,然后再用多少位保存,不就可以了吗? 参考技术A int p[1]; 你的定义错误,这个表示数组中只有一个数
即是p[0]这一个元素,p[1]并没定义,它的值 是随机的~
你输入一个大数就明白了
int p[6];
for (i=0'i<6;i++)
p[i]=1;
上面才是赋初值操作
求delphi 高手救命...cxgrid 问题
代码:
procedure Tnsf_f.cxGridDBTableView3NavigatorButtonsButtonClick(
Sender: TObject; AButtonIndex: Integer; var ADone: Boolean);
begin
if not hasRight(_UserNo) then
begin
Application.MessageBox('你没有权限设置!!!', '错误', MB_OK +
MB_ICONSTOP);ADone:=true;
end;
// showmessage(inttostr(AButtonIndex));
case AButtonIndex of
6:begin //新增
isEdit:=True;
cxGridDBTableView3.OptionsData.Editing:=True;
end;
11:begin //取消
isEdit:=False;
cxGridDBTableView3.OptionsData.Editing:=false;
end;
8:begin //删除
isEdit:=False;
cxGridDBTableView3.OptionsData.Editing:=false;
end;
9:begin //修改
isEdit:=true;
cxGridDBTableView3.OptionsData.Editing:=True;
end;
10:begin //保存
adoq_loc.Post;
isEdit:=False;
cxGridDBTableView3.OptionsData.Editing:=false;
end;
end;
end;
表名:FS_LOC_IP,字段:FS_QY,FS_LC,FS_FJH,FS_LJ,FS_DSC,FS_IP,FS_LOC,FS_FJ,FS_XM,FS_GH.主键是唯一(FS_IP)的
我要在新增和修改时输入FS_GH带出FS_XM,,输入FS_IP表有时提示'IP重复',不能保存.
我试了下其实修改可以忽略掉..师傅说可以在ONKEYUP上实现FS_GH带出FS_XM..不懂
追答cxgrid是第三方控件?我沒有用過,你找下cxgrid的ONKEYUP事件下有哪些參數?
有沒有指向cxgrid當前select是哪一行的參數
以上是关于C语言编程问题!!高手救命,在线等答案的主要内容,如果未能解决你的问题,请参考以下文章