免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2296 | 回复: 9
打印 上一主题 下一主题

几道小题目,跟大家分享一下。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-14 17:05 |只看该作者 |倒序浏览
本帖最后由 xb_parasite 于 2011-05-14 17:08 编辑

1.
typedef union{
               struct{
                           S1:2
                           S2:3
                           S3:3
                         }b;
                char a;
}XX;
struct XX xx;
xx->b=100;

求结果:
printf("%d",xx->S3);

2.
char* p;
char a[10]={1,2,3,4,6,5,8,9,4,7},
p=a;
printf(""%d,%d"",*(p+2),*p+2);//求结果

3.
写个小程序计算1234567234*1233646343   发贴人注:这两个数不小,具体多少记不太清

4.
typedef struct{
             char urV[MAX_LEN];
             usigned int urLen;
}XXX;
实现函数,删除p 中从i开始,连续的j个字符;错误返回false。
bool delete(XXX *p,usigned int j,usigned int i)
{
}

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
2 [报告]
发表于 2011-05-14 18:25 |只看该作者
1.    4,严格来说可能不一定,位域的实现跟编译器相关
2.    3,3,格式化串怎么多引号?
3.    直接用64位整数搞定,要不用数组自己算

论坛徽章:
0
3 [报告]
发表于 2011-05-14 18:33 |只看该作者
本帖最后由 xb_parasite 于 2011-05-14 18:39 编辑
1.    4,严格来说可能不一定,位域的实现跟编译器相关
2.    3,3,格式化串怎么多引号?
3.    直接用64 ...
hellioncu 发表于 2011-05-14 18:25



2同疑,不知道是不是出题者排版错误!
3用double行不行?
1请教:

100表示成二进制是: 011 0 01 00
                      对应:   S3  S2    S1
那么对应的S3应该是3啊,为什么是4呢?

如果是这样排的话就是4:
100表示成二进制是: 01 1 0 0   1 00
                      对应:  S1    S2    S3

那具体实现的时候应该是哪种呢?有没有可能为第一种?

论坛徽章:
0
4 [报告]
发表于 2011-05-14 18:38 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
5 [报告]
发表于 2011-05-14 18:41 |只看该作者
2同疑,不知道是不是出题者排版错误!
3用double行不行?
1请教:

100表示成二进制是: 011 0 01 ...
xb_parasite 发表于 2011-05-14 18:33



    位域的实现跟编译器相关,不能说谁对谁错

double有效位数不够,有误差的。出题者肯定是希望用数组的

论坛徽章:
0
6 [报告]
发表于 2011-05-14 18:54 |只看该作者
位域的实现跟编译器相关,不能说谁对谁错

double有效位数不够,有误差的。出题者肯定是希望用 ...
hellioncu 发表于 2011-05-14 18:41

请教,用数组应该怎么做?

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
7 [报告]
发表于 2011-05-14 19:44 |只看该作者
请教,用数组应该怎么做?
xb_parasite 发表于 2011-05-14 18:54



    就是自己逐位实现乘法运算,你可以搜索下 大数运算

论坛徽章:
0
8 [报告]
发表于 2011-05-14 20:22 |只看该作者
就是自己逐位实现乘法运算,你可以搜索下 大数运算
hellioncu 发表于 2011-05-14 19:44

谢谢。这个都是现成的算法哦。看来没必要自己写了。

论坛徽章:
0
9 [报告]
发表于 2011-05-14 20:38 |只看该作者
本帖最后由 xb_parasite 于 2011-05-14 20:47 编辑
编程测试一下好了
iphonebabe 发表于 2011-05-14 18:38

有时候是不能让上机测的,要不很多问题就不成问题了。呵呵
不过这个我刚才试了一下,用gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3编译了一下,一大堆错误:
beffery@beffery-laptop:~/Programming$ gcc -c printfTry.c
printfTry.c: In function ‘main’:
printfTry.c:5: error: conflicting types for ‘p’
printfTry.c:3: note: previous declaration of ‘p’ was here
printfTry.c:5: warning: initialization makes integer from pointer without a cast
printfTry.c:6: warning: incompatible implicit declaration of built-in function ‘printf’
printfTry.c:6: error: ‘d’ undeclared (first use in this function)
printfTry.c:6: error: (Each undeclared identifier is reported only once
printfTry.c:6: error: for each function it appears in.)
printfTry.c:6: error: expected expression before ‘%’ token

被忽悠了,不知道出题者怎么想的。

  1. void main()
  2. {
  3.         char* p;
  4.         char a[10]={1,2,3,4,6,5,8,9,4,7},
  5.              p=a;
  6.         printf(""%d,%d"",*(p+2),*p+2);
  7. //        char a[10]={1,2,3,4,6,5,8,9,4,7};
  8. //        p=a;
  9. //        printf(""%d,%d"",*(p+2),*p+2);
  10. }
复制代码

论坛徽章:
0
10 [报告]
发表于 2011-05-15 10:04 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP