基础0711 c练习题目_第1页
基础0711 c练习题目_第2页
基础0711 c练习题目_第3页
基础0711 c练习题目_第4页
基础0711 c练习题目_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

猜这个数是多少。create(int*secret){srand(tiLL));*s=rand()%100+1;}输入与传进来的num==时;break;}这个里面有一个重点:里面用来计数的count从1开始计,而不是从0; 错误出现了很不好找到。做这题的关键在于intnum[N];num代表数组的首地址,而指针的使用是在这个首地址的基础上+-操作从而达到移位,然后使用间接操作*p来取得数组里面的数据。int*p;for(p=num+N-1;p>=num;p--){循环 ,一个*p就是一个数组的元素值}51、生成26个排列好的英文字母 51.c/51a.c/51b.c0};for(i0;i26; 时填充。letter[temp]='a'+temp;写完这句一定要记得i++;保证循环} 52.c/设计思路:有两个变量i,j来控制下标。当取出的字符为‘’的时候,不即可。inti,j;for(i=0;str[i]!='\0';i++)];}53、定义结构体:structstudent{ intid;intscore; ,,,作strcmp(s1,s2)函数,当s1>s2时,返回值>0需要注意的是:str为char*[],所以如果要使用sort55、有字符串:“Todayisawonderfulday!”将该字符串中各个单词存放到二维数组:char char*src="Todayisawonderfulday!";二维数组:charstr[LEN][10];函数mysplit(char*src,char(*p)[10]),依次向后移动。需要判断的就是'';所以有:while(*src){} :if(*src!=''){p[row][col++]=*src;}else{p[row][col]=*src;(为‘’的话要把前面的截取出来,后面存新的串段,因此row++;col=0;)}56、对intnum[3][5]的二维数组进行排序 temp;for(i=0;i<列长-1;i++){=i;for(j=i+1;j<列长;j++){if(num[]>num[j]){=j;}}内层循环结束。后面判断是否被改变。if(!=i)如若成立,说明前面的if执行了num[i]=}得出日/月的算法:for(i=1;接收来的天数:days>month[leapyear][i];i++){daysdays-109来表示,即:len-1。再-ii的相对应起来。for(i0;ilen/2;i++){if(p[i]p[len-1-i])return0;该条件只要成立一次,既不对称,所以就不是回文}只有整个for循环结束,仍然没有return0才能return1;盘输入的内容为“agehiagehp,执行完程序变为“aeghip” 储最后输出的内容。已知:'a'=97;所以定义一个index用来代表字符字母。indexstr[i]-91;tmp[index]1;str数组循环完成,既可以把里面所有(2)----------------注解未完成 所以定义两个变量:intmax,tmp;因为字符串以‘\0’结束,所以while(*str){} 在else !也就是说无论比较结果怎么样,str都要++;最后在循环体外部:if(tmpmax){maxtmp;}这条语句保证,即使在没有空格的时 【总结】:4个超级关键的参数:inti,j,k;chartemp_char;i:整个数组的索引,这个没有k:i和jtemp_char:i位置的缓存。这里要isalpha判断是否为字母,添加头文件:<ctype.h>,isdigit判断数字。while(p[i]!='\0'){if(isalpha(p[i])){temp_char=p[i];for(k=i;k>=j;k--){p[k]=p[k-=temp_char;j++;} letter's':3times 用函数toupper(*p)将所有的字母转换为大写,然后统一减去65,并自增。letter[temp_char-65]++;然后指针后移:p++;这样数组下标对应了字母,元素值对应该字母出现的次数。e.g.letter[0]=3;说明字母a出现了3次。most。所以在取出该最大值对应的字母的时候,很有可能出现同一个最大值对应多个字【总结:函数:strstr(char*str1,char*str2) 找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符。置src=temp+strlen(substr);count++; char*str[]={"oworld“,"o"oaka“,"ooexit();s1<s2时,返回值<0;当s1=s2时,返回值=0;当s1>s2时,返回值>0;定义一个char*tmp用来字符串数组的首地址。首先使用intlen=strlen(str)/strlen(str[0]);来得出二维数组中第一维的数值,用以for循环。 例如:for中循环出的第一个字符串为:str[i]=hewhoabhoc,而从键盘上获取的字符串src=ho;tmp,for(i0;ileni+=str[i];while((tmp=strstr(tmp,src))!=while循环体 符串的总长度-截取后剩下串的长度=剩下串的首地址也就是列值));printf显示完成后,while中还有非常关键的一步操作:tmptmpstrlen(src);将首地址向后移动src的长度,重新定义tmp的首地址, 、编写1.strcat:char*dest,constchar*src)srcdest结尾处(dest结尾处的'\0')并添加'\0',返回指向dest的指针.尾处(覆盖dest结尾处的'\0')并添加'\0'。返回指向dest的指针。((*src1-*src2)>0)?1:-1指针:while(*src1&&(*src1==*src2)){src1++, if(*src1 return(((*src1-*src2)>0)?1:-strcasecmpconstchar*s1,constchar*s2)s1s2相0,s1s200的值。较,定义两个空数组charm[1024],charn[1024];if(m[i]'A&&m[i]'Z'){m[im[i]^32;}可以将大写字母转换成为对应的小写字母。循环结束使用m[i]='\0';作为结束标记。循环结束判断:if(m[i]n[i])return1;if(m[i]n[i])returnstrncmp:constchar*s1,constchar*s2,intn)s1s2n个字符。如果完全相等,返回值就=0;如果s1[n]与s2[n]不等,则返回(str1[n]-str2[n]。strstr:char*haystack,char*needlehaystackneedle,并返回第一次 strcpy:(char*dest,char*src)把src所指由'\0'结束的字符串到dest所指的数组中.返回指向dest的指针。strncpy:(char*dest,char*src,size_tn);将字符串src中最多n个字符到字符数str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论