一道c语言搜题题

扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
一道C语言的小题目(10%20等于多少?)
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
为您推荐:
扫描下载二维码一道c语言题目,数到三就退出
[问题点数:40分,结帖人stoncle100]
本版专家分:5
结帖率 91.67%
CSDN今日推荐
本版专家分:9703
2014年1月 C/C++大版内专家分月排行榜第三
本版专家分:1536
本版专家分:300
2013年7月 移动平台大版内专家分月排行榜第二2013年5月 移动平台大版内专家分月排行榜第二
本版专家分:3901
2013年7月 Linux/Unix社区大版内专家分月排行榜第一
2013年10月 Linux/Unix社区大版内专家分月排行榜第二2013年9月 Linux/Unix社区大版内专家分月排行榜第二
2013年12月 Linux/Unix社区大版内专家分月排行榜第三2013年11月 Linux/Unix社区大版内专家分月排行榜第三2013年6月 Linux/Unix社区大版内专家分月排行榜第三
本版专家分:370052
2017年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本版专家分:487
本版专家分:12204
2013年5月 C/C++大版内专家分月排行榜第二
2013年6月 C/C++大版内专家分月排行榜第三
本版专家分:5
匿名用户不能发表回复!
其他相关推荐下次自动登录
现在的位置:
& 综合 & 正文
一道C语言题目引发的讨论
首先看一道C语言题目:
#include&stdio.h&
struct testbit{
unsigned char a:3;
unsigned char b:2;
unsigned char c:3;
int main()/* 小端模式 */
unsigned char *p = (char*)&s;
fprintf(stdout,"s.a = %d,s.b = %d,s.c = %d\n",s.a,s.b,s.c);
首先,我们要明白,什么是大端和小端,关于大小端的定义这里不再赘述。这里需要我们注意的是:一个数字本身没有大小端之分,产生大小端的原因是因为存储方式的不同。
明白了上面这点,在看这道题目。由题目可以得出指针p所指向的内容是0xac( 二进制的 ),又因为内存在分配一个结构体中的数据的时候是按照声明的顺序依次分配的,并且还是小端模式,那么
unsigned char a就对应着二进制的后3位(100)——4
unsigned char b就对应着二进制的中间2位(01) ——1
unsigned char c就对应着二进制的前3位(101) ——5
【上篇】【下篇】一道C语言题_百度知道
一道C语言题
1.从数据文件中读入数据到数组,计算最大值,输出到屏幕。(1)编写函数intread(intarr[])从数据文件data.txt中读入数据到整型数组a,返回读入数据个数n。(2)编写函数intgetMax(intarr...
1.从数据文件中读入数据到数组,计算最大值,输出到屏幕。(1)编写函数int read(int arr[])从数据文件data.txt中读入数据到整型数组a,返回读入数据个数n。(2)编写函数int getMax(int arr[],int n)遍历整型数组,求最大值。(3)在main函数中调用read和getMax函数完成。2. 修改getMax函数使其返回最大值及最大值所在的下标。
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:506
获赞数:664
下面代码调试通过。注:由于read(int arr[])参数为数组,所以定了数组最大空间为N,楼主可自行修改,但注意data.txt中的整数的个数别超过N#include&stdio.h&#include&stdlib.h&#define N 200int read(int arr[]){
if(!(pf=fopen(&data.txt&,&r&)))
return -1;
for(sum=0;fscanf(pf,&%d&,&arr[sum])==1;sum++);
fclose(pf);}int getMax(int arr[],int n){
for(i=1,max=arr[0]; i&n; i++)
if(arr[i]&max) max=arr[i];}int getMaxEx(int arr[],int n, int* addr){
for(i=1,*addr=0,max=arr[0]; i&n; i++)
if(arr[i]&max){ max=arr[i]; *addr=i;}}main(){
int n,arr[N],max,
n = read(arr);
if(n&1) { printf(&no data read\n&); }
max = getMax(arr,n);
printf(&Max value is %d\n&, max);
max = getMaxEx(arr,n,&pos);
printf(&Max value is %d, position %d\n&, max, pos);
system(&pause&);}
采纳数:116
获赞数:251
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求助一道有难度的题【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:588,027贴子:
求助一道有难度的题收藏
单词接龙阿泰和女友小菲用英语短信玩单词接龙游戏。一人先写一个英文单词,然后另一个人回复一个英文单词,要求回复单词的开头有若干个字母和上一个人所写单词的结尾若干个字母相同,重合部分的长度不限。(如阿泰输入happy,小菲可以回复python,重合部分为py。)现在,小菲刚刚回复了阿泰一个单词,阿泰想知道这个单词与自己发过去的单词的重合部分是什么。他们两人都是喜欢写长单词的英语大神,阿泰觉得用肉眼找重合部分实在是太难了,所以请你编写程序来帮他找出重合部分。程序运行结果示例1:happy↙pythen↙py程序运行结果示例2:sun↙unknown↙un输入格式: &%s%s&输出格式: &%s\n&
百度最长公共子串
从下一个的头和上一个的尾巴开始扫描,碰到不同的/越界停下来。
#include&stdio.h&#include&string.h&int main(){char str1[20],str2[20];int i,j=0;scanf(&%s%s&,str1,str2);for(i=strlen(str1)-1;i&=0;--i)if(strncmp(str2,str1+i,strlen(str1)-i)==0)j=i;puts(j?str1+j:&首尾无交集&);return 0;}
登录百度帐号}

我要回帖

更多关于 c语言常见编程题及答案40题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信