广西南宁天气连K锁H销K售喊去三个人就能成功吗,谁哭了?隐士解答

404 Not Found
404 Not Found
The requested URL was not found on this server.
您要找的内容已被删除C语言问题解答_百度知道
C语言问题解答
我有更好的答案
//插入a }int&//插入a }int&nbsp,int&len,int&
for(i&=& Rearrangement(arr,4,2);j&&&i;&j&*arr,int&代码优化一下 从后往前找位置,找的同时做移动 就可以改成一个循环解决问题#include&a;1; Rearrangement(arr,4,2);0;arr[i]) }//这个循环的作用是找到a应该插入到哪个位置 for(j&=&i++) {
if(a&a){ int&i,&j;
for(i=0;i&i&--) {
if(arr[i]&&=&i=0;i&5;i++) {
printf(&}&void&nbsp.h&void&Rearrangement(int&&a;i&5;i++) {
printf(&i=0;i&&=&//这个是之前的找位置功能
arr[i+1]&=&0;&len&-&//len应该是当前数组中的元素个数 for(int&%d&--) {
arr[j]&=&//len应该是当前数组中的元素个数 for(int&arr[j-1];&//对于i位置以后的数据;&main(){ int&arr[5]={3,4,5,6};,arr[i]); } return&,arr[i]); } return&a)&&quot,顺序向后移动一位,给a留出插入的空间 } arr[i]&=&i;main(){ int&arr[5]={3,4,5,6};0;Rearrangement(int&*arr[i];&//一边找&len,int&a){ int&&len厉害&%d&一边移动 } arr[i+1]&=&这个好&可以发代码啦#include&stdio.h&gt
…大神 我会写了又…
我等你等到花儿都谢了 你对得起我那句深情的Waiting for you吗
1 continue的含义就是结束当前循环,继续下次循环比如这个int&i,j;for(i&=&j&=&0;&i&&&100;&i&++){&&&&if(i&%&2&==&0)&&&&&j++;}在这个循环里面,如果i是偶数 那么会执行 否则会执行j++;也就是说 执行continue的作用就是不执行j++这句循环会执行100次,最终j的值是502 数组转置同样重写了一个#include&stdio.h&void&IsInverse(int&*arr,int&len){ int&t; for(int&i=0;i&len/2;i++) {
t&=&arr[i];
arr[i]=arr[len-i-1];
arr[len-i-1]=t; }}int&main(){ int&arr[5]={1,2,3,4,5}; IsInverse(arr,sizeof(arr)/sizeof(arr[0])); for(int&i=0;i&5;i++) {
printf(&%d&&,arr[i]); } return&0;}以数组中间一个元素为界,把其之前和之后的元素,对称的交换值,这样实现转置按照你原来写的,需要新开辟一个数组,否则后面的就会被覆盖了。下面是按照你原本思路的写法#include&stdio.h&void&IsInverse(int&*arr,&int&*arr1,&int&len){ for(int&i=0;i&i++) {
arr1[i]=arr[len-i-1]; }}int&main(){ int&arr[5]={1,2,3,4,5},&arr1[5]; IsInverse(arr,arr1,&sizeof(arr)/sizeof(arr[0])); for(int&i=0;i&5;i++) {
printf(&%d&&,arr1[i]); } return&0;}
嗯嗯 我都会啦
因为等你没等到 我就自己写la
这样啊 那你以后都自己写吧 哈哈 这样才能提高嘛 吾心甚慰
我还是需要你的嘛
额额 这句话容易让我想歪的
……仅仅学习
不要多想哈~
明天见啦~
大神 我又不会写杨辉三角了 只要前十行
不准备自己先试一下吗 哈哈
好吧 我会了
我好懒~~每次都懒得想~~自己坐这儿认真写就写出来了
就是懒虫 是不是我回的慢点对你更好呢,哈哈把你写的发给我看看 ?
没有啦 我就想着趁着你写 不如我自己也写呀 不能总靠别人呗 靠山山会倒嘛 等会呀 登录电脑发给你
大神 还是有点问题 我电脑私信给你啊
#include&stdio.h&void&PascalTriangle(int&arr[10][10])//这里如果用int*做参数&那么就不能再在下面用arr[i][]这种二维数组的方式访问了。&所以直接定义成[10][10]的形参{ for(int&i=0;i&10;i++) {
arr[i][0]=arr[i][i]=1;//初始化为1,&怎么可以是0...&粗心的家伙& } for(int&i=2;i&10;i++) {
for(int&j=1;j&i;j++)
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
} } for(int&i=0;i&10;i++) {
for(int&j=0;j&=i;j++)
printf(&%d&&,arr[i][j]);
printf(&\n&); }}int&main(){ int&arr[10][10]; PascalTriangle(arr); return&0;}
大神 我还以为你会在电脑上回我 傻傻得看着电脑等~唉~
大神 你平常几点下班
私信发代码会把格式都给删掉 看起来会很累的在这边发的话 大括号对齐 很容易看出哪个大括号对应哪个范围下次两边都回 哈哈几点下班不一定 6点左右比较常见 有时候会拖到7点多 看有没有事了
哎呀 太贴心了 好男人
你六点下班吗
今天6点半吧
噢~~吃饭啦吃饭啦 我们明天见喽~拜拜
恩恩 明天见 bye
大神 私信了你一道题
实在是没有思路 明天上班给我解答哦~辛苦你啦。
大神 大神 你没收到吗???
对于每行 找到最大的一点,如果该元素在该列最小,那么输出按行循环就可以了但是我不知道如果元素有相等的 该怎么处理 代码里面也没做判断这个如果你搞清楚了告诉我哈&#include&&stdio.h&#include&&stdlib.h&void&check(int&**arr,&int&m,&int&n){ int&i,&j; int&k; for(i&=&0;&i&&&m;&i&++) {
for(j&=&1;&j&&&n;&j&++)
if(arr[i][j]&&&arr[i][k])&k&=&j;
for(j&=&0;&j&&&m;&j&++)
if(arr[j][k]&&&arr[i][k])&
if(j&==&m)
printf(&%d&%d:&%d\n&,&i,&k,&arr[i][k]);
} } if(i&==&m)&printf(&not&found\n&);}int&main(){ int&** int&m,n,&i,j; scanf(&%d%d&,&m,&n); if(m&0&&n&0) {
arr&=&malloc(sizeof(int&*)&*&m);
for(i&=&0;&i&&&m;&i++)
arr[i]&=&malloc(sizeof(int)&*&n);
for(i&=&0;&i&&&m;&i&++)
for(j&=&0;&j&&&n;&j&++)
scanf(&%d&,&arr[i][j]);
check(arr,&m,&n);
for(i&=&0;&i&&&m;&i++)
free(arr[i]);
free(arr); }
return&0;}
大神 你的代码有错
不要输入函数 scanf
那要求是什么?你只说了一个二维数组求鞍点,然后就一点消息没有了。我只好自己构建一个啦 哈哈
就像我平常那样在主函数里直接给一个二维数组就好啦
你改好私信给我
你的二维数组规模是多大?就是几乘几的?有要求吗?
随意吧 4乘4就够了吧?能够说明问题就行了 没要求
#include&&stdio.h&#include&&stdlib.h&void&check(int&arr[4][4]){ int&i,&j; int&k; for(i&=&0;&i&&&4;&i&++) {
for(j&=&1;&j&&&4;&j&++)
if(arr[i][j]&&&arr[i][k])&k&=&j;
for(j&=&0;&j&&&4;&j&++)
if(arr[j][k]&&&arr[i][k])&
if(j&==&4)
printf(&%d&%d:&%d\n&,&i,&k,&arr[i][k]);
} } if(i&==&4)&printf(&not&found\n&);}int&main(){ int&arr[4][4]={
{1,3,6,9},
{2,4,5,16},
{3,4,7,18},
{4,6,3,14}
}; check(arr); return&0;}这个可以不?
大神 给你发了个私信
你把截图发到这里来
大神 我写好了 有一点小问题 我私信给你啊
大神 我又晕了 我有问题要问 按照你给我的那个程序 先找到第一行的最大数是9接着进入k=0:下面第二个for循环 此时i和j都等于0直接就跳出循环了
但是还没有开始判断那个数所在列是不是最小 就直接跳出循环了?又接着去找下一行最的数了 为什么还能输出正确答案9呢?是我想错了?
哎呀妈呀 我好煞笔 当我刚才那么一大串问题没问 问完你我瞬间觉醒了 受不了我了~你不要笑 不要笑~ 但是那个还是要问 给你私信的那个程序 数组2不是没有鞍点 应该输出-1为什么输出了0?
一会没看 这么多...你发的那个程序#include&stdio.h&int&Check(int&arr[4][4]){ int&i; int&j; int&k; for(i=0;i&4;i++) {
for(j=1;j&4;j++)
if(arr[i][j]&arr[i][k])
for(j=0;j&4;j++)
if(arr[j][k]&arr[i][k])
return&arr[i][k];
} } if(i==4) {
return&-1; } return&0;}int&main(){ int&arr1[4][4]={1,2,6,9,2,4,5,16,3,4,7,18,4,6,3,14}; printf(&%d\n&,Check(arr1)); int&arr2[4][4]={1,2,3,4,5,6,7,2,9,10,11,12}; printf(&%d\n&,Check(arr2)); return&0;}然后我笑五分钟...哈哈哈.......好了 笑完了 继续数组二 你定义了一个4*4的数组 实际上只初始化了12个元素 所以这个就刚好出现了我说的元素相等的情况实际上的数组1 2 3 45 6 7 89 10 11 120 0 0 0到最后一行的时候,检查a[3][0] 是这一行&最大&的, 因为都是0. 而这个值又是这一列最小的,于是返回了a[3][0] 也就是0&
明白了 明白了 我太二了~~
恩 以后叫你小二了 哈哈
不要 小二好像叫饭店里的服务员 哼哼~上节上了体育课
那就叫二丫吧 哈哈 这个好听
。。。难道我是山沟里来的吗
那你是哪里来的?
我我我…其他星球来的。
原来你也是外星来的啊ÚòëÔ°ÜîěÿđħÿæÃĆĮİŨŤŌƧƢLjƺơȝȭɬʃʎʞʞΨοЌЂЛѱѭѨѿѾֳ֟؋؂٫ٕ٧ںڠڳݛݬᴃᴾᴷᵉṠṚἡἘἵᾏᾈᾜῥῷ∞⅔║☺♣ﮒﭷﺠﺅ﷼ﻪﻥﻻﻼ
好热好热~什么都不想干
大神 咱俩扯会淡
你老婆是你初恋吗
不是啊 真不公平 每次二丫问我 我都回答 然后我问二丫 二丫就什么都不说 哼!!!
不叫二丫我就回答喽
好的 二蛋 回答吧 哈哈
不能愉快得聊天啦~再见
那叫你什么呢 叫阳阳吧 和我初恋同名
初恋~~你毁了几个女生呀 老实交代
我初恋很纯洁的 连亲亲都没有 两年多啊 然后就各奔东西了 话说 什么叫毁啊 这个词不好。 你被毁了没啊,还是正在被毁 O(∩_∩)O哈哈~
哎呀 我很单纯的 我的毁加引号啦 就是代表你谈了几个的意思
我是谈了两年 不久前和平分手啦~~~
你不是才大二吗 就两年啦 这么说 从高中开始的?早恋哦为啥分了呢 性格不合?俺也八卦下 哈哈
哎呀 不要揭穿我~等下 到了教室再跟你聊。
自习去?好孩子过会我就下班啦 晚饭还没吃呢
没有 来上我报的那个班呀
你说感情有性格不合这说吗
不想分手那就分不了 别的都是扯淡 对吗?
也不全是吧。性格确实可能不合适的如果在一起前,了解的不够深,后续真的可能发现不合适。或者有些生活习惯没法改变又不能忍受的,也没准啊我认识一家,俩人一个南方的 一个北方的。结婚10年了,做菜还是两套。因为就是吃不到一起去。他们很少见的坚持下来了,大部分遇到这种情况,估计都得分了吧
大概我就是属于那种让人特别受不了的脾气
所以人家忍无可忍啦 嗯 一定是这样的。
那就找个忍耐度高的。 生辰八字报一下 老夫给你算算 哈哈
切~你又不是算卦的
我是新时代伟大的唯物主义占卜师 搞软件只是我的兼职而已
我总结了下我们两个为什么纠结两年 正答是大众情人和孤独患者不可能在一起
来来来 大神 我是孤独患者 你来给我算一下 我应该找个什么样的呢
找个让你不觉得孤独的人就行啦 简单吧
再见~~~~赶紧下班吧 你这占卜的范围也太大了吧
直接一句话 可遇不可求
大神 明天见啦~
感情嘛 就是感觉 感觉对了就好了 感觉不对就分了分分合合 大抵不外如是下班啦 明天见
不在 不在 哈哈
怎么办 老师让把上本书的作业全交了 我还有三章作业没写 也不是全没写 每章都差不多写了6个左右 但是还有好多。所以~~你懂
没事 我知道你懂 回去给你发图
你不能抛弃我~
搞的我始乱终弃似的 ... 有多少题 给个总数
估计20个左右
大神 尽力而为~
大神大神~~
一会我把图发给你
明天上班你给我做哦~谢啦
图拍的清晰点哈 不然俺就罢工这么多题 不给点鼓励啊 /(ㄒoㄒ)/~~
大神 先把题发给你了 我再筛选筛选 减轻你的工作量哈 为什么你又不理我了呢
怎么还有躺着上来的... 把需要帮忙的题目 发标号上来吧 要不要留个邮箱给我? 我担心太多的话,会传不上来 超字数
一会把题目给你~
给你发了封邮件 你看收到没。收到的话 可以直接把题目发到我邮箱
嗯嗯~知道啦
我还是在这里告诉你题目吧 我基本不用邮箱。
可以 我没关系
好的 你快下班了吧 明天我会准时报道的~
好的 明天见
大神 第二张图全做吧 不好意思 好像基本都得用 量好像有点大
辛苦你了(给你捏背中~~~)我开始说要求啦 所有的题目都按照我一贯的代码风格 给你发过好几个 你应该知道 不过我再啰嗦几句(为了不让老师看出来是抄袭的,嘿嘿~~~)第一,不要scanf 第二,主函数里基本什么都不用写 实现功能都用调用函数来写~一定写在主函数外~就这两点吧 谁叫我代码风格简单呢 咳咳~重点来了
第9题 正常写 第十题
在主函数里直接给一行字符 (BA b 12 !)第11题 正常写 12题 给一个例子就好了吧 aBc 13题 正常写 14题 就举三个例子就好 & & = 15题 随便给个例子就好 比如把ajnjhdmw给aug
终于写完了~天呢 我的要求好多,不过对你来说洒洒水啦~大神 加油 大神 加油~~~
大神 大神 忽然想起来 我们最近在讲C 和指针这本书 如果帮我做好题 还有时间的话 麻烦给我讲讲位操作运算这部分 我对这部分有点云里雾里~
啧啧啧啧啧啧~~~~~~我已经离不开你了,抱大腿。
大神 早~ 我是不是特别早呢
你今天不会没有来上班吧
从早晨到现在累死俺咧不行,必须来上海请我吃饭!!!//9#include&&stdio.h&void&func(int&a[],int&n,int&v){ int&low&=&0,&high&=&n-1; int& while(low&=high) {
mid=(low+high)/2;
if(a[mid]&v)
high=mid-1;
else&if(a[mid]&v)
low=mid+1;
} } if(a[mid]&==&v) {
printf(&%d\n&,&mid); } else& {
printf(&无此数\n&); }}int&main(){ int&a[10]&=&{100,&94,&82,&74,&65,&43,&12,&8,&4,&2};
func(a,&10,&100); func(a,10,&65); func(a,10,&2); func(a,10,999); func(a,10,0); return&0;}字数果然超了&这个是9的&我发你邮箱一份&或者你在这边追问&追一次&发一个题的
大神 大神~~~
说好的作业呢,我会挨打的,大神~~~
发到你邮箱了啊&没收到吗?9看到了吧这个是10//10//这个不能按照你说的例子。因为题目规定三行&每行80#include&&stdio.h&void&func(char&a[3][81]){ int&C,c,n,s,o; int&i,j; C=c=n=s=o=0; for(i&=&0;&i&&&3;&i&++) {
for(j&=&0;&j&&&80;&j&++)
#define&IN(x,y)&(a[i][j]&&=&y&&&&a[i][j]&&=&x)
if(IN('A','Z'))
else&if(IN('a','z'))
else&if(IN('0','9'))
else&if(IN('&',&'&'))&
} } printf(&%d&%d&%d&%d&%d\n&,&C,c,n,s,o);}int&main(){ char&t1[3][81]&=&
&Wy\\y,5em-Ev4A7]:NkPRS_=1.)#&$QV#K3{+5P,pEvOkFbd@6kjSNK%OkGh^79bvRPn\&&5pH&,
&aN4sIb0zX#}i&M|P!`/Gk'A&O&^gUg6uk4fXjdB9Zg;RtCm&/%~&`&oaq&~u9QGXcTC/+k)&0&,
&&prgr&~0zII*CZrt1FQ_,iS(F'3ljUt[F{B?Inxea)&'2p&9DvxEfXeSjboFQ(tVS&&
}; char&t2[3][81]&=&
&8Uzu,jk9#(U[&)L&B8ob}NrC&UGqRBg|y*4P&1,PFdx0!YGoW&mX\\JSZx\&{}_0uN\&Z&/{&,
&u.R!vVCs(qg:hUb@^M}&$](,~q;pd&bzKQzt\&m\\oVYR`!=lXB-i/TZ;&'~u(xpD!v]#J`o~&,
&\\~M,^[)9Y=Bld_]PE&Wy&504/H8V=enA?hlNVq36r8/_Drn(F&QgbAG`j-P.[7o=RG/-%JQ@&
}; printf(&t1:&); func(t1); printf(&t2:&); func(t2); return&0;}没收到的话 就继续追问吧 我把剩下的传上来
真的假的 你怎么不给我说呀~我以为没有呢
我还以为今天你在忙工作
怎么没说啊 你看下10点24我发9的时候给你说了的&当时我说 “我发你邮箱一份&这个是11 12 13 14&//11#include&&stdio.h&void&func(){ int&i; int&j; for(i&=&0;&i&&&5;&i&++) {
for(j&=&0;&j&&&i;&j&++)
printf(&&&&);
printf(&*&*&*&*&*\n&); }}int&main(){ func(); return&0;}//12#include&&stdio.h&void&func(char&*s){ int&i; puts(s); for(i&=&0;&s[i];&i&++) {
char&c&=&0;
if(s[i]&&=&'Z'&&&&s[i]&&=&'A')
c&=&'A';
else&if(s[i]&&=&'z'&&&&s[i]&&=&'a')
c&=&'a';
s[i]&=&25&-&(s[i]&-&c)&+&c;
} } puts(s);}int&main(){ char&t[]&=&&R&Olev&Blf&; func(t); return&0;}//13#include&&stdio.h&void&func(char&*s,&char&*s1){ int&i,j;
for(i&=&0;&s[i];&i&++); for(j&=&0;&s1[j];&j&++) {
s[i++]&=&s1[j]; } s[i]&=&'\0'; puts(s);}int&main(){ char&s[100]&=&&first&; char&s1[]&=&&second&; func(s,s1); return&0;}&//14//这个要求gets输入#include&&stdio.h&int&func(char&*a,&char&*b){ int&i; for(i&=&0;&;&i++) {
if(a[i]&!=&b[i])
if(a[i]&==&'\0')
} } return&a[i]&-&b[i];}int&main(){ char&a[100],&b[100]; gets(a); gets(b); printf(&%d\n&,&func(a,b)); return&0;}
哎呀~你没说清楚呀 你就说了个9题,我以为你只写了一个9题。怪我咯?呜呜呜呜~~
不哭不哭 再仔细查一下这里应该都全了这个是15题的//15#include&&stdio.h&void&func(char&*s1,&char&*s2){ int&i; for(i&=&0;&;&i&++) {
s2[i]&=&s1[i];
if(s1[i]&==&'\0')
} }}int&main(){ char&s1[]&=&&asdfasdfasdf&; char&s2[100]; func(s1,&s2); puts(s2); return&0;}和发你邮箱里面的基本上是一致的,只有10的,原本我设计了三组测试用例,不过字数超了,这里传上来的只有2组&下班啦 周一见。 如果还有没做的题,周一来得及吗?来不及就只好你自己做啦 加油哦!
咳咳 好久不见 早呀
好久了吗... 周六还回你私信呢作业交了吗?
不是吧 你说周末不上网
我都没有查看私信
看来你是想我了 嘿嘿~你写的我还没交呢 因为太晚了 当天晚上就得交 就给老师说下次交喽
还能下次交 你们老师真好 呵呵
那啥 左移和右移我不太懂 左移是右边补0?右移是左边补0?然后我就不知道然后了…
要分有符号和无符号数的对于无符号数左移就是右边补0 最高位扔掉右移是左边补0 最低位扔掉对于无符号数左移的时候不包括符号位,也就是最高第二位扔掉,最高位不变右移的时候 最低位扔掉,最高位补符号位 也就是负数补1 正数补0好像是这样的 负数移位实际应用中很少见,都不记得了
什么叫有符号 什么叫无符号 别打我 反正我现在连这个都不知道
什么叫扔掉最高位?
无符号数 就是在定义的时候 有unsigned修饰的比如 unsigned int什么的有符号数 就是简单的int, char , long什么的对于有符号数,最高位不用来代表数值,而是符号1为负数 0为正数具体的表示值就是以前我说过的补码
算了 你还是给我举例讲解吧
我容易搞清楚
这个只是字面的区别啊 我不知道它们实质的区别
比如有符号怎么存?无符号怎么存?大神 你给我举例讲一下呗
刚才查了一下 关于无符号数刚才说的是没错的对于有符号数,左移的时候也是和无符号数一样,舍弃最高位,低位补0,不管符号位右移的时候,和编译器有关,有的是用的刚才说的方式,有的是不管符号位也就是说,对于有的编译器,不区分是否有符号,都是执行同样的操作,无理由补0这种称为逻辑移位有的编译器(目前主流似乎都是这样),左移都是一样操作,右移在有符号数的时候会根据符号位补值,这种称为算数移位下面是算数移位的例子就用最简单的char类型来说如果是无符号数,那么比如十进制的100 = b 那么100&&2 =
最高两位01被舍去了, 低位补了2个0100&&2 =
最低两位00舍去 高位补2个0如果是有符号数 那么正数还是一样,比如100的操作和之前是相同的负数的话比如-100 110 0100的补码 001 1011+1 = 001 1100 所以 -100的二进制表示就是b-100&&2 = b 最低2位00被舍去 最高位补1 其真值为-25这个就是算数移位左移还是一样的操作,直接高位舍去,低位补0-100&&2 = b
最高位的10被舍去 最低位补0 真值为112下面这个语句 可以用来测试printf(&%hhd %hhd %hhd\n&, -100, -100&&2, -100 && 2);
对于无符号我懂 就是左移的话右边补0 右移的话左边补0 但是如果是有符号的
我还是不明白 为什么我记得老师说什么要补符号位?我还不懂为什么会出现符号位?负数的话补码我都不会
唉~~我不会的还真多
补符号位 只出现在支持算术移位的编译器下且仅针对有符号数右移1 为什么要出现符号位的说法。 为了更简单的描述整型的负数。 如果没有符号位 那么就无法表达负数了2 为什么要用补码为了计算机计算负数简单补码是计算机史上很重要的一个发明,解决了计算机做负数及减法计算的问题在计算机的电路中,是没有乘法器和除法器的概念的。 所有的加减乘除计算,最终都由加法器完成使用补码可以用一套电路做加减运算,不需要额外的开销。这个原理很复杂,感兴趣的话可以自己学一下,不是一两句能解释清楚的事实上,只需要知道原则,原理可以不管的3 补码怎么计算无符号数 和正数 补码就是二进制码有符号负数,补码为其绝对值的二进制码,按位取反后加一4 有符号数右移的原则如果用一句话说的话,就是依次向右移动各个位,最低位舍去,最高位补符号位其实分开的话,就是正数和无符号数同样的原则,因为对于正数符号位就是0负数的话,就是同样移位,最高位补1所以计算的时候,可以单独记有符号负数的右移,所有的移位中,只有它是特殊的5 为什么要有有符号右移补1的规定为了负数计算。 从移位的结果上,可以看到 a&&n的结果 就是a/(2^n) 即a除以2的n次幂a&&n的结果 就是a*(2^n) 如果结果溢出,那么就是溢出值。按照逻辑移位的方法,计算无符号数,和有符号数的左移,都是得到这样相同的值但是在计算负数右移的时候,就会出现与算术计算不同的结果,于是就有了补1的规定,使其结果与算术计算相同正因为如此,才称这种移位为算术移位
天呢 一觉睡到了现在
我还有好几道题不会呢 还没问你
大概懂了你给我讲的了
大神 我还有一个问题不懂 -100的二进制码是 如果是我第一眼看到它 我我怎么知道这个二进制就是-100?而不是正数的156?那么问题又来了 正数的156二进制又怎么表示?不跟-100的一模一样吗?
大神 大神 大神~~~I am here,where you are.
这个就是有符号数和无符号数的区别了如果你定义char a = 156; 由于它是有符号的 实际值就是-100定义 unsigned char a = -100 那它实际值就是156看类型啦
……好吧 这样~我等了你好久呢
下午一直有事 都没在电脑前 ...
原来如此 原谅你了
... 天天欺负我 下班啦
我有吗 我有吗 明天见
就有 让我做那么多事 一点奖励都没有 鄙视!! 明天见啦
哎呀 说好了会请你吃饭嘛 真的 肯定请的
怎么能对我这么凶
你对我最好啦 你就好人做到底嘛
C和指针的题编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上。前面要加上行号。在编写这个程序时要试图让程序能够处理的输入行的长度没有限制。
#include&&stdio.h&void&func(void){&&&&int&v='\n',n=1,&f&=&1;&&&&while(1)&&&&{&&&&&&&&v&=&getchar();&&&&&&&&if(v&==&EOF)&&&&&&&&{&&&&&&&&&&&&&&&&&&&&}&&&&&&&&if(f&==&1)&&&&&&&&{&&&&&&&&&&&&printf(&%d:&,n);&&&&&&&&&&&&f&=&0;&&&&&&&&}&&&&&&&&putchar(v);&&&&&&&&if(v&==&'\n')&&&&&&&&{&&&&&&&&&&&&f&=&1;&&&&&&&&}&&&&}&&&&printf(&\n&);}int&main(){&&&&func();&&&&&&&&return&0;}差不多是这样 家里没装编译器 你试试 有问题明天再改&
你有工作没做完吗
没看到你晚上上网呢
最近情况特殊 回家也上一会 家里就我一个人了
怪不得你会上网呢
不过你也太好学了吧 上网还不忘帮别人解决问题 啧啧啧啧啧啧~~
上来操作百度的其它事情 看到有消息提醒 就过来看下其它人的题 我才不答呢
哎呀 太感动了 我要哭一会~~~ 大神 你对我太好了
知道我好了吧 那快点请我吃饭 总开空头支票 过分!!!
我还在西安那~肯定会请的啦
不要凶我 我会伤心的呦
放暑假来上海玩吧
咳咳~我书读得少 你不要骗我 有种你心怀不轨的感觉
汗 像我这样的好人 你还说心怀不轨 看看外面下雪没 话说 你都给我发多少张好人卡了啊
防人之心不可无呀
尤其是男人~~~(别打我)你都是有贴心小棉袄的人 比我更懂嘛
不过我还是蛮信任你的哈
所以才说你是好人嘛
伤心了 睡觉去 不理你了
话说嫂子哪里去了 留你一人独守空房
切~~~我还不想知道了呢 反正是你独守空房 又不是我
洗洗睡吧 大神 我也不理你了
还不告诉我 都不跟我好了
是啊 可怜的我独守空房 你都不来陪我 哈哈
活该你独守空房
不扯了 睡觉去 我们一起吧 晚安
我是要上课的呀 肯定早啦
几点上课?几点起来的啊?
你要帮我一个大忙了 好不好
八点十分上课 七点起床的
老师让我界面设计 我哪里会呀 我们全组人员就靠你了 我选的题目是企业单位物资管理系统
我也不会做界面啊... 没做过 VC我都基本没用过啊 这个俺真没辙了
对你来说肯定不难吧 所以你帮我做好不
或者你给我大概说一下怎么做 我自己做就好 不过肯定少不了让你帮我
那你们公司总有人会做的吧
你没做过么
我们是做嵌入式的 没人做PC开发 我们倒是有界面 不过是嵌入式界面 和你说的不一样...
嗯?有什么不一样呀?反正我现在完全不知道老师要我们干嘛
你确定不一样么?
确定,因为我们的界面是有单独的输出方式的,是输出到电视上的操作也不是用鼠标 而是用的遥控器在电脑上根本没有类似的接口...你怎么揽这么个活啊 其它什么东西我都懂点 就界面一窍不通
我们不需要把实现出来 只是简单得做好就行了 算了 中午回去给你发具体的内容和要求
你看一下 不能做就算了呗
可以 不过别抱太大希望 。。。。。。
额…我已经不抱希望的感觉
靠山山会倒 这下山终于倒了 靠我自己呗
能换个活不
让别人做界面 你做别的
不能 就我和我好朋友做
我俩都不会呀
哎呀 我觉得你肯定能做
做不了就算了呗
这都不是事
你们选的这个题也够大的了
所有题目都挺大的 中午你可以看一下题目 我们也没做过 也不知道怎么选呀 算了吧 无所谓啦 既然老师能出 就说明能做 洒洒水啦
对了 是必须C语言还是C++的也可以?
这和C 无关呀 没有代码吧应该
刚才就听到老师说咱们这个不需要写代码 你们也不会写 这不就说明和C完全无关吗 大神 你把它想得太复杂了 拜托你把它想得低级一点
你们什么课程的老师留的作业啊 不写代码怎么做... 有点糊涂 给个思路就可以吗?算了 回头你把要求发给我好了 顺便说下是什么课程 主要都讲了什么
课程是软件工程导论 讲了什么从来没听过 因为全部是理论知识 我中午发给你 你应该就明白了 反正我现在看了之后还没明白要干嘛 就是写个论文的感觉
那估计写个需求分析 再加上概要设计 应该就差不多了 毕竟说不需要代码嘛
对呀 一共七个要求 六个都是写文字 但是就是这个界面设计 完全不知道怎么做 哎呀 不讨论了 换一个愉快的话题
随便画几个图就好啦 呵呵不知道换什么话题。问你什么你都不告诉我 哭
我猜大神你叫张涛 啦啦啦~我好聪明
猜错了 只是音对了从邮箱名字上知道的吧
这都被你发现了 那还能是哪个tao呢
肯定是这个
你猜不对的 是一个很少见的字 不过 以你的年龄应该见过
韬?这个?这个倒是挺常见的
不对 继续猜 哈哈
绦焘啕饕鼗洮选一个 我就不信还没有
关键从来没见过有人名字里有别的tao 第一反应就是涛 叫那么复杂干嘛呀 我这猜半天
都没有 哈哈哈哈哈还好我就是张 不然更难猜了
不猜了 吃饭去 哼哼~~~
我已经吃完了加油哦我看好你呦
哎呀 你直接给我说嘛
就不告诉你 就不告诉你 就不~告诉你~~~
但是基本上没有了呀 洮?我不猜了还不行嘛
可以啊 反正我不告诉你
发了 你看一下
看到了 里面有要求说要编程实现啊
只看第四 里面不是有7个小要求嘛 就那个
系统设计那一栏?这里也没说要界面啊
就是有个四……具体说的什么我忘了 貌似第5小点说了呀
昨晚上还给你私信了一个代码 就是这个图上第三题的代码 其实我不会写 我找的答案 但是调试出来有错 错误也都私信给你了
昨晚上还给你私信了一个代码 就是这个图上第三题的代码 其实我不会写 我找的答案 但是调试出来有错 错误也都私信给你了
昨天说的第二题 有点小错误&改后是这个#include&&stdio.h&void&func(void){&&&&int&v='\n',n=1,&f&=&1;&&&&while(1)&&&&{&&&&&&&&v&=&getchar();&&&&&&&&if(v&==&EOF)&&&&&&&&{&&&&&&&&&&&&&&&&&&&&}&&&&&&&&if(f&==&1)&&&&&&&&{&&&&&&&&&&&&printf(&%d:&,n);&&&&&&&&&&&&f&=&0;&&&&&&&&}&&&&&&&&putchar(v);&&&&&&&&if(v&==&'\n')&&&&&&&&{&&&&&&&&&&&&f&=&1;&&&&&&&&}&&&&}&&&&printf(&\n&);}&int&main(){&&&&func();&&&&&&&&&return&0;}第三题,你昨天发的那个代码和这个题一点关系都没有 ...&#include&&stdio.h&void&func(void){&&&&int&v; char&cs&=&-1; &&&&while(1)&&&&{&&&&&&&&v&=&getchar();&&&&&&&&putchar(v);
cs&+=&v;&&&&&&&&if(v&==&'\n')&&&&&&&&{&&&&&&&&&&&&&&&&&&&&}&&&&}&&&&printf(&%d\n&,&cs); }&int&main(){&&&&func();&&&&&&&&&return&0;}第五题看名字和你昨天私信的代码有点像 不过题目不全私信的代码 昨天有回过你,不过不一定有用PS:指甲很漂亮 :D
后面这个代码是哪道题?什么第五题呀?
刚发的第一个代码是昨天晚上我在家回你那个。 第二个代码是你刚才说的第三题的第五题就是你上传第二个图上的5 rearrange那个。这个函数名和你昨天发的私信的那个函数 是一个名字
……我没让你给我做第五题呀 大神 你好自觉呀 都不用我说了
噢~~~我懂了 怎么可能呢 昨晚给你私信那个是我找的答案呀 不可能一点关系都没有吧 心酸呀 我敲代码敲了好久
你说得也太直白了 唉~伤心 你确定没关系?
确定没关系...
好吧 我下个月得考四级 唉~我不会呀我不会
英语四级吗?这个找我 我最有经验了
真的假的 赶紧给我传授经验
我简直就是什么都不会
你四级当时多少分?
我四级靠了6次呢 谁有我经验多啊不过就一样不好 我都和它关系那么铁了 它还舍不得给我个证 和你一样绝情
我太单纯了
你怎么老骗我 哼哼~~
我没骗你啊 我多有经验啊 像我这样有经验的人 正好带你这样的新人的
那你不最后还是没过嘛 还来教我呢
唉 都是泪啊
唉~~你又靠不住了 唉~
getchar是只能读一行还是只能读一个字节来着? 人家不是说不能限制输入行的长度嘛
那啥 那个第一个代码那个如果f等于1里面那个输出函数%d后面怎么还有个;?
亲爱的 你确定你的代码调试过吗 为什么行号永远都是1呢
大神 大神 大神 大神 大神 大神 大神 大神 大神 大神 大神 大神 大神
哎呀 我怎么这么晕呀现在 昨晚上给你发的那个代码其实是第六题
对 是第六题
你给我改一下那个程序
那啥 你之前给你私信过一个代码 就是星期六那个 你还记得不
一会儿不在出来这么多...一个个来1 EOF 是End Of File的宏,代表文件结尾。 当读文件的时候,出现EOF代表文件结束在读标准输入时,windows可以用ctrl+z输入EOF2 getchar,获取字符,一次只读一个字节3 行号那个我今天发现的,不过不知道怎么搞的 传上去的还是昨天的代码...新的是这样的#include&&stdio.h&void&func(void){&&&&int&v,n=1,&f&=&1;&&&&while(1)&&&&{&&&&&&&&v&=&getchar();&&&&&&&&if(v&==&EOF)&&&&&&&&{&&&&&&&&&&&&&&&&&&&&}&&&&&&&&if(f&==&1)&&&&&&&&{&&&&&&&&&&&&printf(&%d:&,n);&&&&&&&&&&&&f&=&0;&&&&&&&&}&&&&&&&&putchar(v);&&&&&&&&if(v&==&'\n')&&&&&&&&{&&&&&&&&&&&&f&=&1; &&&&n++;//在这里增加行号&&&&&&&&}&&&&}&&&&printf(&\n&);}&int&main(){&&&&func();&&&&&&&&&return&0;}4 第六题,你试试按照我私信发给你的修改 看看可以不。不行的话再重写一个从描述上看 好像是哪个题的后续,有点看不懂...星期六发过一个typedef struct Day的程序 你说的是这个吗?私信里也回了...
你什么时候给我私信了?第六题?等会 这会有点晕
我都糊涂了 我这脑子,唉~~~
你发私信给我的时候 我都在私信里面答了。算了 我把私信里面的两个复制到这边吧有点乱然后一个个来。周六那个 修改完的代码#include&stdio.h&typedef&struct&Day{ int& int& int&}D//这里需要加一个名字int&GetDay(Day&*pday){ int&days[]={31,28,31,30,31,30,31,31,30,31,30,31}; int&count=0; if((pday-&year%4==0&&pday-&year%100!=0)||pday-&year%400==0) {
days[1]=29; } for(int&i=0;i&pday-&month-1;i++) {
count+=days[i]; } count+=pday-& return&}int&main(){ Day&today={}; printf(&%d\n&,GetDay(&today)); return&0;}typedef struct Day{}Dtypedef 语句结尾需要加一个类型名也可以typedef struct&{}D前面的Day可以省略 后面的不能区别是 前一种 可以用struct D定义 也可以用Day d定义但是后一种只能用Day d的形式字数又超了 你再追问下 我把昨天的6传上来
等会 我说的不是年月日
那昨天的,应该是6的吧#include&stdio.h&#include&string.h&#define&MAX_INPUT&128&//&这个没定义。&具体定义多少看你们要求void&rearrange(char&*output,char&const&*intput,int&const&n_columns,int&const&columns[]){ int& int&output_ int& len=strlen(intput); output_col=0; for(col=0;col&n_col+=2) {
if(columns[col]&=len||output_col==MAX_INPUT-1)
if(col+1&n_columns)
nchars=columns[col+1]-columns[col]+1;
nchars=len-columns[col+1];
if(output_col+nchars&MAX_INPUT-1)
nchars=MAX_INPUT-output-1;
strncpy(output+output_col,intput+columns[col],nchars);
output_col+= } output[output_col]='\0';//这里打错了}一个是MAX_INPUT 看起来是个宏定义 这个只有调用 没有定义的地方 加个#define MAX_INPUT xx就可以了。xx是多少看程序要求 或者随你喜欢另一个 output[output-col]='\0'; 中括号里怎么可以是数组名减去一个变量 打错了吧
我现在给你私信一个代码 然后代码的题目是之前给你发的图的第3题
3我传给过你一个代码的不行吗?#include&&stdio.h&void&func(void){&&&&int&v;&&&&char&cs&=&-1;&&&&&&&&&while(1)&&&&{&&&&&&&&v&=&getchar();&&&&&&&&putchar(v);&&&&&&&&cs&+=&v;&&&&&&&&if(v&==&'\n')&&&&&&&&{&&&&&&&&&&&&&&&&&&&&}&&&&}&&&&printf(&%d\n&,&cs);&&&&&}&&int&main(){&&&&func();&&&&&&&&&&return&0;}
大神 linux 你应该也会吧?
略懂 略懂 比我的四级强一些
没有老婆的日子 你挺潇洒
你怎么想起来linux了 想玩这个?一般潇洒吧 你来陪我?
我去 咱能不这么…
不要让我对你有了坏印象哈~
对我要单纯点呀 以后
特别强调 晚安 明天见
对我要单纯点呀 以后
特别强调 晚安 明天见
就不单纯 哈哈晚安! 明天见
你还不睡觉呢
唉~浪荡呀
在了 刚在...
今天忙死了... 一堆事情赶到一起了
嗯,那就明天见
累了 回家了 晚上见
好好休息 好好吃饭吧
到家了 好大的雨 鞋垫都能拧出水了 ...
我都被浇成落汤鸡了 你还说我浪荡真是最毒夫人心
反正你又不是第一天知道
这可是你让的 什么时候真见到你我就不客气了 直接下口
赶紧洗洗睡觉 这都开始说胡话了
明明你让我咬的 现在又不承认 唯XX与XX难养也
…… 我是女子 我是小人咯~
那啥 除了学习 咱俩还是不要讨论其他的话题~~~
那就不说话了
,,,,,,
切~小心眼 别学我
没学你啊 你发的和我发的不一样的 ;D
大神 你存心的吧。跟我过不去是吧…唉~绝交
狠心的丫头 再见!!
再见就再见 走好不送
那我就真走啦?
走一个我看看
唵嘛呢叭咪吽 消
已经消失在茫茫的夜色中
好啦 咱俩正常点
俺已经疯了 没法正常了 你得负责
给你一大嘴巴子 你就恢复了
暴力 过来打啊 等着你
好吧 不敢打…还得问你题呢 我错了 不能生气哈
过来请我吃饭就不生气啦 看你诚意喽
哎呀 大神 你又不缺这一顿饭
缺你啊 哈哈哈哈哈
大神 你先帮我写啊 没流量了 中午回来我再看 谢啦
基本上就是你上次的程序 做了一点小修改并且写了一个main带两个测试用例#include&&stdio.h&#include&&string.h&#define&MAX_INPUT&256void&rearrange(char&*output,char&const&*intput,int&const&n_columns,int&const&columns[]){ int& int&output_ int& len=strlen(intput); output_col=0; for(col=0;col&n_col+=2) {
if(columns[col]&=len||output_col==MAX_INPUT-1)
if(col+1&n_columns)
nchars=columns[col+1]-columns[col]+1;
nchars=len-columns[col];
if(output_col+nchars&MAX_INPUT-1)
nchars=MAX_INPUT-output_col-1;
strncpy(output+output_col,intput+columns[col],nchars);
output_col+= } output[output_col]='\0';}int&main(){ char&str[MAX_INPUT]&=&&this&is&test&string&for&function&rearrange&; char&output[MAX_INPUT]; int&col1&=&4; int&cols1[4]&=&{0,7,&13,19}; int&col2&=&5; int&cols2[5]&=&{0,7,&13,23,&33}; rearrange(output,&str,&col1,&cols1); printf(&%s\n&,&output); rearrange(output,&str,&col2,&cols2); printf(&%s\n&,&output);
return&0;}
好的 谢了啊 大神
对了 前两道题我都没有看懂
这个题我估计我更看不懂了 大神 这两天你是不工作还挺忙的?
还行 一般忙 比前段时间事多点
大神 你能给我仔细讲讲前两道题吗 我都看不懂
你先忙工作吧 有时间了给我讲吧
第几题 一个个来
这个题看起来很简单,最简单的思路就是每次用%s输入或者直接用gets读一整行但是由于有一个处理输入行的长度没有限制,所以用这种方法就不行了,毕竟你开多大的数组都有可能溢出所以最简单的方法就变成了用getchar或者scanf(&%c&)的方式,一次读入一个字符,然后再逐个输出。&又有一个条件是加上行号,于是再加上一个判断'\n'.最朴素的代码就是#include&&stdio.h&void&func(void){&&&&int&v,n=1;&&&&printf(&%d:&,n++);//先输出第一行的行号&&&&while(1)&&&&{&&&&&&&&v&=&getchar();&&&&&&&&if(v&==&EOF)//退出条件&&&&&&&&{&&&&&&&&&&&&&&&&&&&&}&&&&&&&&putchar(v);&&&&&&&&if(v&==&'\n')&&&&&&&&{&&&&&&&&&&&&printf(&%d:&,n++);//当遇到一个换行输出下一个行号&&&&&&&&}&&&&}&&&&printf(&\n&);}&&int&main(){&&&&func();&&&&&&&&&&return&0;}话没说完 又超了,你再追问下 随便打点什么
这个第二题讲完 再给我讲一下三题和六题
但这样有一个看起来不好的情况,就是当你输入若干行后,回车,再输入EOF,最后一行会打印一个单独行号,实际上这行没有输入。比如输入5行,会打印一个单独的6,这个是因为检查到了第五个'\n', 而这个程序是检查到第n个\n打印第n+1个行号的。为了修改这个 引入一个标识变量f, 这样在检查到换行后,在下一个输入的字符输出前来进行输出行号 最终代码是这个#include&&stdio.h&void&func(void){&&&&int&v,n=1,&f&=&1;//定义f&初始化值为1,为了输出第一个行号&&&&while(1)&&&&{&&&&&&&&v&=&getchar();&&&&&&&&if(v&==&EOF)&&&&&&&&{&&&&&&&&&&&&&&&&&&&&}&&&&&&&&if(f&==&1)&&&&&&&&{&&&&&&&&&&&&printf(&%d:&,n);&&&&&&&&&&&&f&=&0;&&&&&&&&}&&&&&&&&putchar(v);&&&&&&&&if(v&==&'\n')&&&&&&&&{&&&&&&&&&&&&f&=&1;&&&&&&&&&&&&n++;//在这里增加行号,其实这个也可以移动到上面,输出n的时候。效果一样。&&&&&&&&}&&&&}&&&&printf(&\n&);}&&int&main(){&&&&func();&&&&&&&&&&return&0;}先看看 这个还有什么没搞明白的没
我不懂那个退出条件
还没懂为什么有f==1那个语句
你快下班了吧 那就星期一再给我讲吧
因为是读入多行 所以没办法知道退出条件这里也可以设置成死循环 然后ctrl+c强制退出不过程序设计中这不是一个好方法。于是我就加了一个遇到EOF退出,就是以前和你说的 ctrl+z退出 getchar函数,返回的是输入的一个字节,一般常把它存到char类型里面即char c = getchar();
大多数时候不会错,但是它本质的返回值是一个int值当遇到EOF的时候,它会返回一个特殊值-1, 可以用来判断文件结尾标志至于f 只有在输入的字符为换行的时候 它才会被赋值为1这样 在下一个getchar()执行结束后,如果f为1 即if(f==1),那么说明上一个字符是换行符,也就是说,这次输入的是新的一行的第一个字符。 那么在输出它之前,先输出这一行的行号周五了,今天给你讲完再下班。明天没什么事了
让我再看看 略懂
恩 有问题再问哈
问你就得到星期一了呢
没关系 周末也会上网的 现在单身了嘛
嫂子肯定回娘家了~那你要随叫随到呀
随叫随到 除非你打我电话 不然我总不能一直守在电脑前面吧
那你电话给我呀先
你又没要过私信给你了 等到pc上自己看
好吧 知道了 还不发这上面 又别人看
发这边容易违规被吞答案的在回答里面发网址 qq号或者手机号都属于敏感操作。连邮箱都不敢随便留。百度现在限制的很厉害
比如防你这种人~~哈哈~
我有什么好防的其实我这个号现在安全级别挺高的了,一般情况下发点违规的也没人查而且现在百度对广告查的也没之前严了现在新回答里面,10个里面得有5个在做广告
那你为什么还要发到私信里?
小心第一 万一小智找我毛病怎么办...
你怎么还没下班呢 上课上得我都快瞌睡了
这就要回去了
不会我给你发短信或打电话被嫂子误会吧 那我就冤枉了
不会我给你发短信或打电话被嫂子误会吧 那我就冤枉了
不会我给你发短信或打电话被嫂子误会吧 那我就冤枉了
这个嘛 难说 不过现在她不在 暂时可以放心 哈哈
反正我又不在乎
再说我根本不存在威胁力
你太浪荡~~
才没有 总这么说我刚去答了一个高质量回答。唉 等活动结束了 才好去答一个 我多可怜啊
也许你是一个好男人 ~
你这精力够充沛的
我刚跑完步 累的我~~
好困了 可是还有事情没做完 不能睡...今天预定的任务还没完成呢
……至于么
你也太认真了 肯定是好男人
大神 你的号码已存
这个月就剩两天了 给自己定下的目标还差一些 今天再搞定一点 明天完成 后天就可以休息啦
说得我无言以对
明天早起 我埋头苦干吧
大神 你明天干嘛
继续干活 貌似也没什么其它事情可做了可能会睡个懒觉 哈哈你早点睡吧明天见
大神 你起床没
…你竟然比我还早
都几点了 还早我早晨睁眼 看外面这么还这么黑然后想再睡会儿一看时间 8点半了外面是阴天。。。。。。
我九点才醒来的
大神 What are you doing?
做任务 。。。这个月还差300多推荐
……… 你这比我还用功呢
我作业多得写不完 你先做任务吧 待会问你题。
怎么那么多作业... 我上学的时候 好像没什么作业要写
C和指针 我上的那个班 马上整本书都要讲完了
所以作业不就一大堆嘛
明天晚上我得帮作业交到第三章 可是我现在还在第一章
除了这些那我还有平时学校上课的那些课程的作业呀 唉~我身心疲惫呀
还有四级我还不行呢
你好忙 比我忙多了 加油哦
你也是哈 Fighting 我一会找你哈
大神 平时你听谁的歌呀???
不听歌 五音不全 天生不爱 唉
又没让你唱歌呀~大神 你也太怪了吧
不是应该出去浪荡嘛 我以为你会听beyond 黄家驹 谭咏麟 的歌 结果你还不听歌
没什么兴趣 别人放歌 我也跟着听 但是自己肯定不会找歌听 那些星星我也不认识...
哦哦~好吧
其实感觉我的日子很单调的 都不知道要做什么.. 大众的兴趣爱好我一个都没
那岂不是很孤独空虚的感觉?
以后去上海 我带着你 你带着钱~~嘿嘿,不错
以后去上海 我带着你 你带着钱~~嘿嘿,不错
可以啊 没问题话说 你私信里面的 俺没看懂啥意思 ,,,
你私信里发的6 7看起来没什么问题啊
答案当然没问题了 关键是我没看懂呀
第一个图那个题和最后一张图的第二题 没找到答案 就得拜托你给我写啦~
...还以为是你写的呢&先说第六题{&&&&int&&&&&int&&&&&dstindex=0;&&&&if(start&=0&&len&0)//这个判断是题目中要求的,如果start或len为负,那么就直接空串&&&&{&&&&&&&&for(srcindex=0;srcindex&start&&src[srcindex]!='\0';srcindex+=1)&&&&&&&&{&&&&&&&&&&&&;&&&&&&&&}//这个循环是不太好解释的,它的关键在于退出条件&&&&&&&&//如果srcindex==start则退出,或者src达到结尾退出&&&&&&&&//如果可以达到srcindex==start自动退出,那么说明start的位置是在字符串内的&&&&&&&&//否则就是题目中说的.start所指的位置超过了字符串尾部&&&&&&&&//这种情况下,退出是由于src[srcindex=='\0'],所以下一个循环while不会被执行,等效于直接给dst赋值空串&&&&&&&&while(len&0&&src[srcindex]!='\0')//这个while就简单多了。就是简单的数据复制。注意还有一个len&0约束,如果要求复制的结尾字符start+len超过了原始字符串结尾,那么就只复制到结尾。&&&&&&&&{&&&&&&&&&&&&dst[dstindex]=src[srcindex];&&&&&&&&&&&&dstindex+=1;&&&&&&&&&&&&srcindex+=1;&&&&&&&&&&&&len-=1;&&&&&&&&}&&&&}&&&&dst[dstindex]='\0';//如果中间没有经过复制操作(while)那么dstindex一直为0,这里等于是赋值了空串。&否则是增加dst的字符串结束符&&&&return&//返回的是字符串的长度&}int&main(){char&str1[]=&hello&world&;char&str2[20];printf(&%d\n&,substr(str1,str2,7,10));return&0;}
天呢 头都疼 不想看 我明天起来再看 你还不睡吗大神
本来要睡了 被你叫起来了&陪我顺便把最后一页那个题发了//最后一个图的第二题#include&&stdio.h&void&func(void){ int&c; int&f=0;//统计配对的大括号
while((c&=&getchar())!=EOF) {
if(c&==&'{')
else&if(c&==&'}')
if(f&&&0)&//f&0代表有一个}无法和任何一个前面的{配对
} } if(f&==&0)&printf(&配对成功\n&); else&printf(&存在无法配对的大括号,配对失败\n&); }int&main(){ func();
return&0;}第一个图那个 题目不全 在下一页应该还有。
陪就陪呗 我熬得起 你估计马上就瞌睡了 还是你赶紧休息吧 明天接着给我讲题
大神 早 你起来没
来了 先讲题 还是先把第一个题做了。 第一个图不全
在家里面也没有编译器 试试这个 不确定有没有什么问题...#include&&stdio.h&double&my_sqrt(double&n){ double&a,b; a&=&(1+n)/2; while(1) {
printf(&%lf\n&,&a);
b&=&(a+n/a)/2;
if(b&==&a)
return&a;}int&main(){ double&a;
a&=&my_sqrt(100); printf(&sqrt(100)&=&%lf\n&,&a);
return&0;}
这下可以回答啦
刚才私信里面那个代码。看起来像是接收一系列字符&每行打印是第几个字符,然后打印出字符值不过在show里面没做循环 所以只能打印出一个字符来&感觉应该改成#include&stdio.h&void&show(){ int&a; int&n=1; while(1) {
a=getchar();
printf(&%d&&,n);
putchar(a);
printf(&\n&);
if(a&==&'\n')&//添加了一个结束条件,只打印一行。
} }}int&main(){ show(); return&0;}这个是哪个题的?题目我见过吗?
哎呀 咱俩昨天不是在私信里讨论第二题来着吗 我不是说我给你说我的思路吗 你忘了呀?
啊 没看出这个是第二题...这个就是读入多行数据 然后对应输出行号那个吧那我刚才改的就有问题了。就点评下你的代码好了。首先 show里面没有循环 所以只能输出第一个字符。其次 你这个代码里面没有看到判断换行符的地方,所以不可能做到每行输出行号如果简单的在show里面加一个循环 那么效果就是每行输出一个数字加上一个字符 就像我刚才改的程序那样如果输入test那么会输出1t2e3s4t这样的效果
但是为什么你的程序就可以读取多个字符了呀 反正我还没想通 你的不也是getchar吗
看是否有循环啊&你的程序void&show(){int&a;int&n=1;a=getchar();//只会执行一次printf(&%d&&,n);putchar(a);printf(&\n&);n++;}我改过的void&show(){&&&&int&a;&&&&int&n=1;&&&&while(1)//这里加了一个循环&&&&&{&&&&&&&&a=getchar();&&&&&&&&printf(&%d&&,n);&&&&&&&&putchar(a);&&&&&&&&printf(&\n&);&&&&&&&&n++;&&&&&&&&if(a&==&'\n')&//添加了一个结束条件,只打印一行。&&&&&&&&{&&&&&&&&&&&&&&&&&&&&}&&&&}}当然 我改的这个也是不符合题意的&
……头疼 我实在是不想看
……头疼 我实在是不想看
这个代码又不难...加油哦不讲的话我可回家啦
那什么 你还记得我的那个什么企业物资管理系统那个作业么
记得 不过还是没搞明白你们要做什么
就是一篇论文呗 算了 我自己应该能做
如果单独从你发的要求上看,是需要真的做点东西出来的可是按照你们老师的说法,又不用写代码。那就是纯粹做样子了可以这样的话,最难的是概要设计和详细设计那部分你说的界面倒还好一些,依照设计方案画一组图就可以了。你们有没有定下来哪部分先出来。如果你的界面先出来,那么设计方案就得按照你的界面来了不然就会搞的穿帮了 :)其实这个最简单的就是按照你们老师发的那个pdf上面 一步步走下来,不然很容易乱套的
但是如果不需要代码的话 那个界面怎么能做出来?老师好像说什么用VB做 难道不需要代码 就能做出来么
是你告诉我不用写代码的。。。如果只是一个报告 不要可执行的程序的话 编倒是可以编出来的
我是被老师告诉的 怨我喽?
这个报告什么时候交啊?先确定下要不要真写代码吧
这个老师没说 我问问别人再说吧
开始部分你们做了吗?就是需求分析那一块
什么都没做呢
我找了点资料 做了一点点
碰到这种不讲道理的室友我也是醉了~睡觉都不让人睡了
碰到这种不讲道理的室友我也是醉了~睡觉都不让人睡了
怎么了? 出什么事情了?
你下班啦?
你下班啦?
没呢 正准备走呢。 外面下了好大的雨想我啦?
……别自恋好吗
回家再找你 下班啦 一会见
知道啦 一会见
到家啦 想我没?
当然想了 一日不见如三秋,这一个小时多不见 怎么也得相当于半个多月了吧 能不想吗我都想你了
我已经自动屏蔽掉所有的字了…
呃 别自闭啊 这样我可是会心疼的
为什么男的都这么的贱呢
这不能叫贱 应该叫穷尽一切方式接近异性历史上有很多不具备这类本质的男生出现,不过趋势是越来越少的因为根据达尔文进化论 他们因为得不到繁衍的机会 而被淘汰了
……关键你是有家室的人 难道男的在任何时候都会这样吗 吃着碗里的还不够?
差不多吧 同样是进化造成的基本上可以算是天性 有人控制的好 有人没有机会 剩下的就是大多数人啦
但是你身边已经有人了 为什么还得这样呢
没有意义呀 我觉得
如果要追究的话,可以从心理 生理 社会......无数方面找到无数种答案简单的说,天天吃红烧肉 总想尝尝油闷大虾吧
这只是建立在你的心里还没有人呀 一个心还想分给几个人呀 难道你不怕你老婆也和别人暧昧吗
这个嘛同样是很复杂的啦。就像感情不能显示的定义一样其是否独私也从来没人可以定义。我也不是专家,所以也搞不清......至于某些小丫头,就更甭想理解啦。
俺保密 哈哈
这有什么好保密的呀 太小气了吧
已经没和你少说了 太好奇的话 小心喜欢上我睡觉去了。你也早点睡,别总熬夜,小心很快变老哦晚安啦
喜欢你还不好吗 啧啧啧啧~晚安
喜欢你还不好吗 啧啧啧啧~晚安
大神~神~神~
大神~神~神~
在 想我啦? 否认的话我就消失 :D
…太贱了吧 我不 我不
你太狠心了。 说吧 为啥事想我了?
这不今天还没找你呢么 看看你被
我还算有良心吧
真乖,摸摸头,奖励一下。今天忙不?
to do this,to do that,but to do nothing.
简单翻译下 瞎忙哈哈
正解。各种不在状态
我下班啦,回家聊。回去收礼去
都不分我一半
都不分我一半
你来 我分你
…好吧 你赶紧回家吧
hello, 还在瞎忙吗?
我在认真上课好吗
上什么课啊?
我报的那个班呀
c与指针? 学的怎么样?感觉难不难?
最近又开了Linux
... 学那么多干什么啊 搞不懂哪个都不简单啊
人家开的课呗 多学点不好吗
人家开的课呗 多学点不好吗
人的精力有限,你对它们本身兴趣又不是太大,就算是当时学会了,过个两年没有什么用的机会的话,也该忘得差不多了。如果为了充实自己,还不如早点找一个感兴趣的方向,然后一直学进去。感觉你现在就是东一下西一下的...
他们是有安排的呀
全部的基础不都得学嘛 我们老师和你一样呀 都是工作了好几年的
应该不会教没有用的呀
这根本不是兴趣呀 就是基础的都得学好呀
确实都是基础,但未必都得学。基本上学一到两门基础语言,这个是绝对的基础,属于学的越深越好的。然后学一下算法相关的知识。剩下的就看方向了。linux就属于非必需的,尤其是在课堂上讲linux.现在貌似linux挺火 可是真正用到linux的工作少之又少,学这东西,还不如学学java, 网页设计,美工制图什么的更有点用处。你现在学的c和指针,和之前学的C应该有不少重的吧
先回寝室了
对呀 我们这也不能选呀
B和指针已经讲完了今天 下次就讲数据结构了
好可怜 我穷得只剩下自己了 呜呜呜~~~
这么快,一本C和指针讲了多少课时啊?没看过这本书,不过听很多人说C和指针是C入门最好的第二本书,应该介绍的不会太浅才对。怎么穷的只剩自己了?出什么意外了吗?
因为大部分在里里面都讲过的 所以讲得比较快 没事 我就是感慨一下
为什么钱花得那么快
因为大部分在里里面都讲过的 所以讲得比较快 没事 我就是感慨一下
为什么钱花得那么快
都干啥花了啊?
买了衣服呀 护肤品买了点
水果呀这个倒是花不了多少
然后就没有然后了
也正常嘛 女孩子大多都是花在这个上面了
大神 你不听音乐 那你看书吗 运动吗?感觉你也不会
看书还行,挺喜欢的。不过经常没时间看。运动... 我是运动白痴,哈哈,最喜欢的是床上运动---睡觉
那你是喜静不喜动
我还好 基本上这几项每天都是必须的 听歌 跑步 看书
不过最近好久没出去了
那你是喜静不喜动
我还好 基本上这几项每天都是必须的 听歌 跑步 看书
不过最近好久没出去了
其实出去走走挺好的,对身体好,心情也会好很多。可是一个人不愿意动... 为啥好久没出去了?
作业呗 前几周都在练车 还在考驾照 一个人没什么呀
我都有种想一个人去旅游的冲动
多才多艺啊。我都不会开车。来上海旅游吧,给你报销往返路费,哈哈
切~才路费
这个诱惑力太小了
那路费加食宿?
辣么好…说得我都心动了呢
君子不受嗟来之食
... 又逗我 让我白开心。不和你扯了,做我最喜欢的床上运动去啦。 晚安。
万一哪天真的去了 你可得说话算数哦 晚安啦
早上好 肯定说话算数
早 好 我记住了
大神 需要你给我说道题了
你不准备自己先试试写一个吗?懒家伙!!
你先写嘛 我在写别的题 我时间有限 不准说我懒!哼~先帮我写啦
好吧 一个个来第一个图那个第三题,reverse_string的#include&&stdio.h&void&reverse_string(char&*&string){ char&*h,&*e,&c;
h&=&e&=& while(*e) {
e&++; } e&--; while(h&e) {
e--; }}int&main(){ char&string1[]&=&&this&is&a&test&string&; char&string2[]&=&&&; printf(&string&\&%s\&&reverse&=&&,&string1); reverse_string(string1); printf(&\&%s\&\n&,&string1);
printf(&string&\&%s\&&reverse&=&&,&string2); reverse_string(string2); printf(&\&%s\&\n&,&string2); return&0;}&第二个图第一题&hermite那个。这个图好坑。我以为是2*Hn-1(x) 结果是2*x*Hn-1(x)#include&&stdio.h&int&hermite(int&n,&int&x){ if(n&&=&0) {
return&1; } if(n&==&1) {
return&2*x; } return&2*x*hermite(n-1,&x)&-&2*(n-1)*hermite(n-2,&x);}int&main(){ printf(&hermite3(2)&=&%d,&hermite2(3)&=&%d\n&,&hermite(3,2),&hermite(2,3)); return&0;}看到时随便追问一下,下个可能放不下了
大神 我给你发一个私信 你看下
这是题目 你帮我修改下
最后一个gcd的。这个叫辗转相除法,挺出名的#include&&stdio.h&int&gcd(int&M,&int&N){ int&R;
if(M&=0&||&N&&=&0) {
return&0; } R&=&M%N; if(R&==&0) {
return&N; } return&gcd(N,&R);}int&main(){ printf(&gcd(100,40)&=&%d,&gcd(17,39)&=&%d\n&,&gcd(100,40),gcd(17,39)); return&0;}私信我看下哈
我觉得应该返回p 不应该返回source 还有我还没看懂题 它的意思就是返回第一个相等的字符就好了?否则返回空?
不能返回p,p是在chars中的一部分,而要求的是返回source中的一个位置。这个题目是这样的,如果source = &&;根据chars中的数据,有任何一个字符可以和source中的一样,那么就返回source中第一个出现这个字符的位置。比如chars = &147&, &1 4 7在source都有,那就返回最先出现的1的位置,输出的就是完整的.如果chars = &749&, 其中7 和4在source里面有,返回先出现的4的位置,输出如果chars = &9ads&, 这样chars当中任何一个字符在source中都没有,就返回NULL代码可以改成这样,通过强制转换绕过const的修饰。#include&stdio.h&//#define&NULL&0&//stdio里面是有这个定义的,不需要自己弄一个。char&*find_char(char&const&*source,char&const&*chars){ char&*p; if(source!=NULL&&chars!=NULL) {
for(;*source!='\0';source++)
for(p=(char&*)*p!='\0';p++)//这里p赋值的时候,最好也加一个转换,因为p也是没有const修饰的。
if(*source==*p)
return&(char&*)//返回的时候&加一个强制转换。
} } return&NULL;}int&main(){char&*str1=&abcde&;char&*str2=&b&;char&*r;r&=&find_char(str1,str2);//由于返回有可能是NULL,而对NULL用%s输出,不同平台处理不同,有可能会挂掉的。所以在这里保存一下,输出的时候做个判断。printf(&%s\n&,(r&==&NULL)&?&&NULL&&:&r);return&0;}
为什么把p强转 还有那个返回为什么强转?不懂
参数source和char都是const修饰的,也就是说,是声明了不可以修改里面的内容但是p和返回值都不带const, 是可以修改里面的内容的。如果你在程序里写一个source[0] = 'a';这类的赋值语句,编译器会报错,就因为source是const的。 可是p不是,对p指向的空间赋值是允许的。这个就是带不带const的区别了。 所以当出现这类跨类型赋值的时候,本质上是一个危险的操作,可能会带来不可预知后果。从char*转到const char*不会有任何问题,而反过来就可能造成错误。于是编译器就会在出现这类操作的时候提醒这个提醒没有什么规定,可以是警告,也可能是错误。不管哪种,加一个强制类型转换就搞定了。
好晕呀 等会 如果把一个指针赋值给另一个指针 就是把里面的内容赋值给它?const 不是就不让修改内容吗?那强转了以后不就修改了内容吗?那不修改这题没法做呀 那到底是让修改 还是不让修改呀?还有为什么没有返回source全部 而是从第一个相等的字符开始返回?
好晕呀 等会 如果把一个指针赋值给另一个指针 就是把里面的内容赋值给它?const 不是就不让修改内容吗?那强转了以后不就修改了内容吗?那不修改这题没法做呀 那到底是让修改 还是不让修改呀?还有为什么没有返回source全部 而是从第一个相等的字符开始返回?
好晕呀 等会 如果把一个指针赋值给另一个指针 就是把里面的内容赋值给它?const 不是就不让修改内容吗?那强转了以后不就修改了内容吗?那不修改这题没法做呀 那到底是让修改 还是不让修改呀?还有为什么没有返回source全部 而是从第一个相等的字符开始返回?
是因为source加加了吗?
我应该还是没明白指针加加的含义是什么 加到下一个地址? 难道只要加加 一个指针的指向就改变了?
指针自加或者说指针做加减法运算,都是指针指向的移动。改变的只是指针本身的值,并不会改变指针指向空间存储数据的值。对于const char *或者char const *source,这类定义,指的是*source也就是source指向的空间的值是不能修改的,而source本身的值,也就是指针指向的地址是可以修改的。在这里面source的值就被修改了,最后返回的是一个新的指针,指向的是要和chars中元素相同的第一个字符的地址。
对呀 倒是这样只返回了b的地址 为什么输出的却是bcde?我还是没懂
其实我一直都很好奇是为什么 肯定是因为我还没弄明白 就比如打印一个字符串 为什么只用写它的指针名或者数组名就可以了? 我就是想问比如那个b 只返回了b的地址 为什么输出的时候b后面的那些也输出了 它是怎么做到的?大神 你懂我想问什么吧?
其实我一直都很好奇是为什么 肯定是因为我还没弄明白 就比如打印一个字符串 为什么只用写它的指针名或者数组名就可以了? 我就是想问比如那个b 只返回了b的地址 为什么输出的时候b后面的那些也输出了 它是怎么做到的?大神 你懂我想问什么吧?
明白你的意思。其实这个是printf决定的。printf在遇到不同的格式的时候,会做不同的处理。比如遇到%d的时候,它要做的操作实际上是,把%d对应的参数取到,然后把取到的数字按照10进制的方式转为字符串,再把这个字符串输出。 比如printf(&%d&, 1234); 它会先拿到1234的值,然后转成&1234& 最后把这个1234写到终端(输出)。而对%s这个格式的处理方法是,先拿到对应参数的值,这个值必须是一个地址,然后以这个地址为起始点,逐个输出指向的字符,直到遇到结束符\0为止。如果写成代码的话,这个过程是这样的。printf(&%s&, str); 等同于while(*str!='\0'){&&&&putchar(*str);&&&&str++;}或者写成你更习惯的数组方式for(int&i&=&0;&str[i]&!=&'\0';&i&++)&&&&putchar(str[i]);这个是%s这个格式决定的。&
嗯嗯 我明白啦
嗯嗯 我明白啦
这是本书乖,摸摸头
这是本书乖,摸摸头
我把它都看完了
没看过,你不说我都不知道有这本书...乖,摸摸鼻子 :-D
挺火的这本书 就知道你不知道 赶紧给我做其他两道题吧 大神
汗 你没看到啊 三道题都已经给你传上来了啊。 有两个是10:15发的 还有一个是10:31发的。一点不重视俺滴劳动成果。往回找找,找不到的话告诉我哪个题找不到了,然后我给你重发三个分别是reverse_string, hermite 和
hermite 这个没找到 还有一个第三题应该是reverse_bits啊还有我没让你给我做gcd啊!!!
你今天就给我发了三张图啊第一个张图是reverse_string的,115页第三题第二张图上,是hermite 的,这个在这个图上没写完,第三张图上还有一半代码是#include&&stdio.h&&int&hermite(int&n,&int&x){&&&&if(n&&=&0)&&&&{&&&&&&&&return&1;&&&&}&&&&if(n&==&1)&&&&{&&&&&&&&return&2*x;&&&&}&&&&&return&2*x*hermite(n-1,&x)&-&2*(n-1)*hermite(n-2,&x);}&int&main(){&&&&printf(&hermite3(2)&=&%d,&hermite2(3)&=&%d\n&,&hermite(3,2),&hermite(2,3));&&&&&return&0;}这个代码是和第一个一起发的。第三个图有一半是hermite 的另一半题目,下面还有个打钩的gcd的。我以为是这三个题呢。看来是你第三个题的图丢了。把reverse_bits那个图给我再发下
好吧 我就说为什么你口里的第三题和我给你发的不一样呢不是我弄丢了呀 上面显示的是已经发送了啊 回去给你发吧
好吧 我就说为什么你口里的第三题和我给你发的不一样呢不是我弄丢了呀 上面显示的是已经发送了啊 回去给你发吧
找了一下 真的没看到... 估计又是手机版和pc版不一样的坑
…我也是醉了
而且在PC版我根本不能在这个问题里跟你说话 只能修改 哎呀 我也是服了 弄这个有意义吗
瞎搞呗 现在越搞越乱了。
要不是因为大神你 我果断把它卸载了
好感动 555
看我对你好吧 我多留恋你
我只好以身相许了
…我承受不起 你还是留给别人吧
留给别人多对不起你的留恋啊
没事 我不介意 把你的知识留下就好了我这么容易满足的人
可我会不满足啊 怎么办呢
……不满足算啦 我不缺你一个喽
刚才还说对我留恋呢 转眼就要把我踹了 你太无情了
你咬我呀 我就这样~~
有机会我一定咬个够 哼!
这种待遇留给嫂子吧~~ 大神 你还记得你给我写的一个程序吗就是如果输入一个字符串要求把它输出 并计算它的值还记得不?
有点印象,貌似很久了。怎么了?#include&stdio.h&#include&stdlib.h&int&main(){int&c;char&sum=-1;while((c=getchar())!=EOF){putchar(c);sum+=c;}printf(&%d\n&,sum);return&0;}是这个吗?
为什么把那个检验和初始值设为-1?还有每次字符输入时,字符的值就被加入到里面 加的是它的ASCII吗?那这个题的目的是什么?统计一个字符串的ASCII码和?那又为什么把它的初始值设为-1呢
正常都应该是0的,可是我记得当初你发的题上面要求的设置为-1我也不知道为啥加的是ascii码,这个题目嘛,没啥意义,就是一道练习题。或许可以做校验和,但没这么做的。
找到之前的题目了按照题目的说法 是做校验和用的。但实际上没什么用处。&
哦~那就不管了
怎么又想起来这个题了?
那下面那个第六题呢 就是修改rearrange这个题
那下面那个第六题呢 就是修改rearrange这个题
因为我现在才回头来看作业
总不能你给我写了 我连看都不看
有种为了写作业而写作业的感觉
这个是在你提供的代码基础上改的#include&&stdio.h&#include&&string.h&#define&MAX_INPUT&256void&rearrange(char&*output,char&const&*intput,int&const&n_columns,int&const&columns[]){ int& int&output_ int& len=strlen(intput); output_col=0; for(col=0;col&n_col+=2) {
if(columns[col]&=len||output_col==MAX_INPUT-1)
if(col+1&n_columns)
nchars=columns[col+1]-columns[col]+1;
nchars=len-columns[col];
if(output_col+nchars&MAX_INPUT-1)
nchars=MAX_INPUT-output_col-1;
strncpy(output+output_col,intput+columns[col],nchars);
output_col+= } output[output_col]='\0';}int&main(){ char&str[MAX_INPUT]&=&&this&is&test&string&for&function&rearrange&; char&output[MAX_INPUT]; int&col1&=&4; int&cols1[4]&=&{0,7,&13,19}; int&col2&=&5; int&cols2[5]&=&{0,7,&13,23,&33}; rearrange(output,&str,&col1,&cols1); printf(&%s\n&,&output); rearrange(output,&str,&col2,&cols2); printf(&%s\n&,&output);
return&0;}这个基本上就是完全按照题目要求一步步做的有哪里不清楚吗?
哪里都不清楚 根本不明白这个函数要干嘛
哪里都不清楚 根本不明白这个函数要干嘛
就是题目中说的。最开始是例题里面的,后来这里又加了一个功能。到这个函数这步,它的功能简单点说,就是给出一个字符串input,然后再给出一组标记位置的数值,从input中按照标记提取字符并写入到output中。标记位置数值数组为columns,长度(标记的个数)为n_columnscolumns格式为{s0, s1, s2,s3 ....}提取的字符就是从s0到s1 ,然后s2到s3, ... 直到sn到sn+1。 如果n_columns是奇数,那么从最后一个值的位置一直取值到input的结尾。比如input=&nuanyangshigebendan&;columns={1,3,6,7,9,11}那么先提取1-3,&uan&再提取6-7 “ng”最后提取9-11 “hi”组合起来就是&uannghi& 这个就是最终的output.如果是奇数的情况,columns={1,3,6,7,9,11,15}那么在之前的基础上,再增加15到结尾,即“endan”最终的output是&uannghiendan&其它的所有代码都是用来做错误处理的,比如中间哪个columns项的值超出了input的长度,取得的字符串超出了output的空间范围等等。
你现在讲得是原来那个程序 还是这道题
原来那个我也没看懂
直接就是这个题了。 理解了这个,原来的也就不难了。先回家,到家再继续给你讲。
好吧 我能说我实在都不想看了吗 你还是给我讲吧
好吧 我能说我实在都不想看了吗 你还是给我讲吧
为什么不是zhangtaoshigesb呢?我才看到 哼哼~~~
15不应该从n开始吗 为什么多了个e?还有,我不叫nuanyang哈
我不想看了 看得我想吐 还有那个strlen 我看它的原函数了 怎么感觉不对呢 等你到家 我估计我正在跑步
没错 15是从n开始的 我数花眼啦。 你不叫暖阳 那叫什么呢? 你又没告诉过我strlen你看到的原函数是什么样的?有什么不对的地方?
等会 先让我缓会 刚跑完步回来
等会 先让我缓会 刚跑完步回来
等会 先让我缓会 刚跑完步回来
跑了多久?
3200米 多久 估计不到半小时 慢跑
强!!我年轻的时候都没这么勤快过...
说明我热爱生活 爱自己
我最喜欢慢性自杀
……那你自杀去吧 反正我不会救你的
一共两张图 收到了没
人活着不就是慢慢走向死亡嘛 我只不过是比别人更快点这个strlen函数挺正常的啊,length初始化为0,然后每次如果元素非0,那么就指针移动一下,同时length自加一次。只不过这么写不太好懂罢了。如果这样写会更容易看一些for(l=0; *s!='\0'; s++) {l++;}其实更常见的写法是size_t l = 0;while(*s++)l++;
比如he 吧 不是先加加再解引用 那一加加不就加到了e了吗?那h也没算呀?
是先取值再++,&因为++是在后面的。 就像是a=b++; =的优先级很低,但也是先赋值再++的。&在这里优先级只能用来判定结合,而不能用来判断计算先后顺序,这个是由于++运算的特殊性决定的。PS 你发的那个写了一个,你自己编译运行一下看有问题没。我猜着写的#include&&stdio.h&unsigned&int&reverse_bits(unsigned&int&value){ int&size&=&sizeof(int)*8;//这里达到题目中的不依赖本机字长。因为int的长度是实际取得的 int&i; unsigned&int&ret&=&0;
for(i&=&0;&i&&&&i&++) {
unsigned&int&
bit&=&value&&&&i;//把左数第i位移动到左数第0位
bit&&&=&&size-1;//把左数第0位移动到最后一位。
//经过以上两步,原本的第i位就变成了最后一位,同时其它位置均为0,因为无符号数右移时左边是添0的
bit&&=i;//把原始的第i位移动到右数第i位
ret|=&//这里利用或操作的特性。0|0=0&0|1=1也就是&如果有一方为0,那么或操作的结果就是另一个操作数。
//对于正在操作的位,由于ret的对应位上没有操作过,还是原始的0,这里把它置成bit对应位上的值
//对于其它位,bit上的值为0,所以ret保持原本的值。
//以上四步操作其实可以不用中间变量bit一步完成,即
//ret&|=&((value&&i)&&(size-i))&&i;//不过这样不容易看懂,所以分开了。 } return&}int&main(){ unsigned&int&a&=&25; a&=&reverse_bits(a); printf(&%u\n&,&a);
return&0;}
对啊 是先取值再加1下面那个题好详细 太爱你啦~我明天再看吧 现在实在不想看啦
哇哦 终于承认你爱我啦 亲一个
你信吗 你信吗 你信吗
你信吗 你信吗 你信吗
反正我不信
反正我不信
反正我不信
我这样的老实人很容易相信人的...
相信就相信呗 跟我有关系吗 嗯哼?
眼泪哗哗的这么贴心知道你位操作不熟悉,给你打了这么多的字,手都疼了口头都不安慰一下伤心了,回去睡觉了 晚安!!!
好吧 我错了
以后会好好对你的晚安
好吧 我错了
以后会好好对你的晚安
真乖,那来亲一个吧。晚安啦,这次真的去睡了。争取梦到你 哈哈
…晚安 晚安啦
大神 早 你测一下昨晚给我写的那个程序有没有问题
你今天早上没有来百度吗???
先说昨晚那个第三题吧 bit=value&&i 这步我都不懂
也来看了一下,不过没做什么事。昨天的代码没什么大问题,不过有一个分号打成汉字的分号了这个是修改过来的#include&&stdio.h&unsigned&int&reverse_bits(unsigned&int&value){&&&&int&size&=&sizeof(int)*8;//这里达到题目中的不依赖本机字长。因为int的长度是实际取得的&&&&int&i;&&&&unsigned&int&ret&=&0;&&&&&&&&&for(i&=&0;&i&&&&i&++)&&&&{&&&&&&&&unsigned&int&&&&&&&&&bit&=&value&&&&i;//把左数第i位移动到左数第0位&&&&&&&&bit&&&=&&size-1;//把左数第0位移动到最后一位。&&&&&&&&//经过以上两步,原本的第i位就变成了最后一位,同时其它位置均为0,因为无符号数右移时左边是添0的&&&&&&&&bit&&=i;//把原始的第i位移动到右数第i位&&&&&&&&ret|=&//这里利用或操作的特性。0|0=0&0|1=1也就是&如果有一方为0,那么或操作的结果就是另一个操作数。&&&&&&&&//对于正在操作的位,由于ret的对应位上没有操作过,还是原始的0,这里把它置成bit对应位上的值&&&&&&&&//对于其它位,bit上的值为0,所以ret保持原本的值。&&&&&&&&//以上四步操作其实可以不用中间变量bit一步完成,即&&&&&&&&//ret&|=&((value&&i)&&(size-i))&&i;//不过这样不容易看懂,所以分开了。&&&&}&&&&return&}&int&main(){&&&&unsigned&int&a&=&25;&&&&a&=&reverse_bits(a);&&&&printf(&%u\n&,&a);&&&&&&&&&return&0;}
什么叫把左数第i位移动到第0位?
bit = value &&这步就是把value左移i位这样原本在第i位的值,就被放到了第0位。这里说的第几位都是从0开始计算的,类似于数组。比如如果原本value值是B11 01 那么如果要取得左数第8位,也就是0011里面的第一个0,就把value左移8位,结果为B00 01
那为什么要有这步呀???
把高位都拿掉,下一步移位等于是把低位都拿掉。最终就只剩下需要的那一位了,其它位都是0
为什么结果不对呀
我这边运行结果是你那边是多少?
给你私信了 肯定是我哪里错了 你看看
给你私信了 肯定是我哪里错了 你看看
少了一竖for结尾的最后一个语句你打成了ret=应该是ret|=或等于
两张图 收到了吧?
两张图 收到了吧?
两张图 收到了吧?
大神 你先帮我做这两道题
第一个图是做第5题还是第6题?
第二个图那个4就是第5题说的位数组
5中还提到了前一个题。是说的第4题吗?那你把4也发上来。
一共三张图 最后一张图你先别管 一会再说 先帮我做5 6题
大神 为什么还没好???
第6题依赖第5题,第5题依赖第4题。你第4题写完没?写完的话我就直接从第4题最后一步开始了。否则就把第四题一步步搞一遍。刚开回去了 刚散。还有点事解决下,过20分钟后开始吧
第四题没有写呀
第四题没有写呀
... 第四题很复杂,这里可能发布下了,到时我发邮件给你吧
那先算了 你看一下私信 我给你发了个程序 是刚才第三张图的第二题 你帮我改改
那先算了 你看一下私信 我给你发了个程序 是刚才第三张图的第二题 你帮我改改
那先算了 你看一下私信 我给你发了个程序 是刚才第三张图的第二题 你帮我改改
这个题,缺了一个match函数,另外在del_substr开头又多了几行,看起来像是match函数的实现。不过实现方法有缺陷,所以我把它删掉了,又重写了一个。最后是这样的#include&stdio.h&char&*match(char&*str,&const&char&*substr){ while(*str&&&&*substr&&&&*str&==&*substr)& {
substr++; } if(*substr&==&'\0')&return& return&NULL;}int&del_substr(char&*str,char&const&*substr){ char&*p; while(*str!='\0') {
p=match(str,substr);
if(p!=NULL)
str++; } if(*str=='\0') {
return&0; } while((*str++=*p++)) {
; } return&1;}int&main(){ char&str[]=&abcdef&; char&substr[]=&bcd&; printf(&%d\n&,del_substr(str,substr)); printf(&%s\n&,str); return&0;}
写的我头晕眼花 我要缓一会
写的我头晕眼花 我要缓一会
我在写第四题,写完邮件给你发过去。到时你看的更眼花4 5 6三个题,其实就已经是很复杂的算法了。
但是第四题我找到答案了
每个函数就一句呀 不就四个函数呗
再也不想写作业了
但是第四题我找到答案了
每个函数就一句呀 不就四个函数呗
再也不想写作业了
大神 让我再八卦一下 嫂子是干什么工作的???
第四题基本上就是每个函数一句吧不过实现也有很多种方式的。最高效的是这样的void&set_bit(char&bit_array[],&unsigned&bit_number){ bit_array[bit_number&&3]&|=&1&&(bit_number&0x7);}void&clear_bit(char&bit_array[],&unsigned&bit_number){ bit_array[bit_number&&3]&&=&~(1&&(bit_number&0x7));}void&assign_bit(char&bit_array[],&unsigned&bit_number,&int&value){ if(value&==&0) {
clear_bit(bit_array,&bit_number); } else {
set_bit(bit_array,&bit_number); }}int&test_bit(char&bit_array[],&unsigned&bit_number){ return&(bit_array[bit_number&&3]&(1&&(bit_number&0x7)))&!=&0;}看和你的一样吗?另外,算素数那个第四题,给你邮箱发过去了。你也可以看看。第五题在算呢...你嫂子现在没工作,专职带孩子。所以她才能想回老家就回,把我一个人孤零零的扔在这边,你也不来陪我。
几个题都发给你了,第五题我还在等结果 如果和预期不符的话,可能还得改代码。
还在等?好吧
还在等?好吧
还在等?好吧
这个代码在一般pc上没准得跑上一夜...理论上最大值是42亿多,现在才跑到9亿...
好吧……这样 这跑到你下班能完吗
不知道...话说 这边回答的太多了 整个网页太大,每次打开都很费劲。要不你采纳了再开个题?你怎么不用qq手机版呢,那样就省事多了...
但是我现在没用电脑啊 开一个我不也没法把网页复制给你 明天或者晚上吧 之前用QQ 现在不想用 有一年没用了啊 那你为什么不用微信这样就好了啊
但是我现在没用电脑啊 开一个我不也没法把网页复制给你 明天或者晚上吧 之前用QQ 现在不想用 有一年没用了啊 那你为什么不用微信这样就好了啊
我现在机器上已经开一堆的聊天工具了...再加个微信就要挂了现在开的有qq baiduhi 和skype。 可惜这三个你都不用。。。看起来今天是等不到它跑完了。 先回家了, 回头再看结果。
好吧 你先回家吧
又改了一下 现在1分42秒能跑完最终结果和预想的一样 就是第五题发了几个邮件,好像是三个还是四个,按照最后一个就可以了 其它的都有错误...
哦~老师把作业讲了
哦~老师把作业讲了
什么作业?刚才说的吗?正好看看有没有我做错的
快讲到了 现在讲到了那章的第三题
快讲到了 现在讲到了那章的第三题
快讲到了 现在讲到了那章的第三题
有错的告诉我哈。 这下是不是不用我讲了啊?
用 必须用 因为老师写得都比较简单 但是我不理解 总之指针我感觉我就没有一道题是理解的
用 必须用 因为老师写得都比较简单 但是我不理解 总之指针我感觉我就没有一道题是理解的
用 必须用 因为老师写得都比较简单 但是我不理解 总之指针我感觉我就没有一道题是理解的
好吧 明天早上上课才讲 今天讲不到了 跑步去~~回去找你啦
好吧 明天早上上课才讲 今天讲不到了 跑步去~~回去找你啦
好吧 明天早上上课才讲 今天讲不到了 跑步去~~回去找你啦
老师写的简单不是更好理解吗
反正我不会
反正我不会
反正我不会
那好。有什么不会的,记下来。到时我给你私密辅导
反正我把代码记下来了 好热好热好热 刚回来
反正我把代码记下来了 好热好热好热 刚回来
反正我把代码记下来了 好热好热好热 刚回来
寝室能洗澡吗?去冲一下
不能 太可怜了呢
不能 太可怜了呢
不能 太可怜了呢
同情一下。寝室有空调或者风扇吗?
大神 大神 早
大神 大神 早
大神 大神 早
太桑心了 你现在都不找我了 唉~~说 你是不是由新欢了
太桑心了 你现在都不找我了 唉~~说 你是不是由新欢了
太桑心了 你现在都不找我了 唉~~说 你是不是由新欢了
当然没有啦,以后每天早晨来先和你打招呼好啦,乖,不桑心摸摸小鼻子
写代码...大多数时候都在做这事想我啦?
对呀 想你了呢
对呀 想你了呢
对呀 想你了呢
受宠若惊哎 亲一个
你同意否?
你同意否?
你同意否?
当然同意了 你要不同意的话我可就强吻了哈
别介 可以商量啊 要不 只亲一下?咋不说话咧?忙着生气呢?
我在 呼吾之名 吾在汝心
不要给我拽文言文 我是学渣 那啥 你还记得我们软件工程导论那个作业吧 就写论文那个 我现在正在弄 一会弄好了我发你邮箱里 你再帮我改改 我实在没时间了 老师让周四得交
不要给我拽文言文 我是学渣 那啥 你还记得我们软件工程导论那个作业吧 就写论文那个 我现在正在弄 一会弄好了我发你邮箱里 你再帮我改改 我实在没时间了 老师让周四得交
不要给我拽文言文 我是学渣 那啥 你还记得我们软件工程导论那个作业吧 就写论文那个 我现在正在弄 一会弄好了我发你邮箱里 你再帮我改改 我实在没时间了 老师让周四得交
好。就是上次发的那些要求吧,确定不要代码了没?
果断不要 有种弄不完的感觉
弄得我想咬人
果断不要 有种弄不完的感觉
弄得我想咬人
果断不要 有种弄不完的感觉
弄得我想咬人
不是有人和你一起弄吗?你负责哪些部分?
我给你发了 你收到了没有?
我给你发了 你收到了没有?
我给你发了 你收到了没有?
刚刚给你发了
刚刚给你发了
刚刚给你发了
你当时选的题目是仓库管理吗?
第十一个 企业物资管理系统呀
第十一个 企业物资管理系统呀
第十一个 企业物资管理系统呀
差不多啦 呵呵
你猜我是谁 你猜我是谁~
你猜我是谁 你猜我是谁~
你猜我是谁 你猜我是谁~
猜不到,难道是我梦中的那个她?
不装逼我们还是好朋友
不装逼我们还是好朋友
还不行实话实说啊
哎呀 我不会讲 就是念一遍?那个作业
哎呀 我不会讲 就是念一遍?那个作业
哎呀 我不会讲 就是念一遍?那个作业
我压根不知道干嘛
我压根不知道干嘛
我压根不知道干嘛
我压根不知道干嘛
我压根不知道干嘛
我压根不知道干嘛
讲一下你的设计思路啊,就是说你想干嘛,你是怎么做的。如果实在没什么东西说,就把前面那些官样文章念一遍好了。
太假了老师弄这种作业 啧啧啧啧啧啧~~~
太假了老师弄这种作业 啧啧啧啧啧啧~~~
太假了老师弄这种作业 啧啧啧啧啧啧~~~
有人说界面设计那部分用visio画?是么?
有人说界面设计那部分用visio画?是么?
有人说界面设计那部分用visio画?是么?
这个随便啦。如果用VB的话,VB自己就可以做界面的。 反正要做的是CS的。
不懂 完全不知道怎么弄
不懂 完全不知道怎么弄
不懂 完全不知道怎么弄
学过VB没? 如果没学过就不用管啦,因为说了也没用。
VB是啥?你还没下班?
VB是啥?你还没下班?
VB是啥?你还没下班?
visual basic在你的作业报告中有提到...也是一种编程语言,很古老,由basic语言演变而来。basic历史比C还要悠久马上下班,今天事情多,刚搞的差不多,明天还得继续。回家可能就不开电脑了,有事短信我。
哦~~那你先下班吧
哦~~那你先下班吧
哦~~那你先下班吧
类和模板 不太会呢
类和模板 不太会呢
类和模板 不太会呢
下午回去给你发三个实验题 你帮我看看
下午回去给你发三个实验题 你帮我看看
下午回去给你发三个实验题 你帮我看看
你不是玩C吗?怎么改C++了啊?
…谁给你说的那我也得把平时课的作业写了吧
…谁给你说的那我也得把平时课的作业写了吧
…谁给你说的那我也得把平时课的作业写了吧
…谁给你说的那我也得把平时课的作业写了吧
…谁给你说的那我也得把平时课的作业写了吧
我觉得我写的没错呀 它一直报错 哎呀 我这暴脾气
我觉得我写的没错呀 它一直报错 哎呀 我这暴脾气
我觉得我写的没错呀 它一直报错 哎呀 我这暴脾气
我觉得我写的没错呀 它一直报错 哎呀 我这暴脾气
我觉得我写的没错呀 它一直报错 哎呀 我这暴脾气
我觉得我写的没错呀 它一直报错 哎呀 我这暴脾气
把代码发过来给本座瞧瞧
我下午回去给你发
这课我都没听过
去年C加加考试还是拷贝别人的答案 我一个题都不会写
我下午回去给你发
这课我都没听过
去年C加加考试还是拷贝别人的答案 我一个题都不会写
C++其实不是太难。不过太活了,我不喜欢。对C++也是略懂 哈哈
你略懂 那我怎么办 你不能略懂
你略懂 那我怎么办 你不能略懂
你略懂 那我怎么办 你不能略懂
放心 略懂就足够了 收拾你还不难 哈哈哈
好吧 也是~~明天四级 我这连个底儿都没有心里
好吧 也是~~明天四级 我这连个底儿都没有心里
好吧 也是~~明天四级 我这连个底儿都没有心里
相信自己! 发挥正常就可以了,能过去万事大吉,不能过还有下学期的,没什么大不了的。
…还有下学期
…还有下学期
…还有下学期
刚查了一下政策 2005年2月,教育部宣布对英语四六级考试进行改革,不再发放合格证,改为发放成绩单,并重申教育部从未要求四级与学位挂钩。也就是说 你们学校的做法是违法的...
突然发现我刚才回你这条追问的回答被百度吃了。。。刚查了一下,现在国家是没有任何规定学位证和四级证挂钩的。 从2005年明确规定的你们学校是违规行为
不只是我们学校好吗 大部分学校都是
不只是我们学校好吗 大部分学校都是
不只是我们学校好吗 大部分学校都是
现在估计大部分应该都不是了吧 毕竟教育部都明确发文了。我拿证就是05年7月 及时响应政策号召 没了解过其他学校是什么规定。
学校哪有那么听话呀 尽量过呗
学校哪有那么听话呀 尽量过呗
学校哪有那么听话呀 尽量过呗
学校}

我要回帖

更多关于 广西南宁天气 的文章

更多推荐

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

点击添加站长微信