C语言第六次作业指针,c语言第六次作业解析
《c語言第六次作業(yè)解析》由會員分享,可在線閱讀,更多相關(guān)《c語言第六次作業(yè)解析(36頁珍藏版)》請在人人文庫網(wǎng)上搜索。
1、c 語言第六次作業(yè)解析第六次作業(yè):指針(以下題目如無特殊聲明, 請使用指針技術(shù)實現(xiàn) , 盡量不要使用數(shù)組作為形參 , 也盡量避免使用數(shù)組下標(biāo)引用數(shù)組元素)1. 數(shù)組元素循環(huán)移位有 n 個整數(shù),使前面的各整數(shù)順序向后移動 m 個位置,后面的 m 個整數(shù)則變成最前面的 m 個數(shù)。寫一函數(shù)實現(xiàn)以上功能。在主函數(shù)中輸入n 及 n 個整數(shù),輸入m( mvoid main()void inv(int *p,int n,int m);int n,m,a20,*p;printf(please input n=);scanf(%d,&n);printf(please input %d numbers:,n);p。
2、=a;while(pvoid main()void inv(int (*x)5);int i,j,a55;int (*p)5;printf(please input an 5*5 array:n);p=a;for(i=0;i*(*x+j)t=*(*x+i);*(*x+i)=*(*x+j);*(*x+j)=t;return;3. 星期的查找編寫一個程序,輸入一個 17 之間的整數(shù),表示星期幾,然后輸出相應(yīng)的文字。例如:如用戶輸入3,則輸出“星期三” 。要求:用指針數(shù)組的方法來實現(xiàn)。#includevoid main()int n;char (*p)3;char a73=一, 二, 三, 四, 五。
3、,六 , 七;printf(please input n=);scanf(%d,&n);p=a;printf(星期 %sn,p+n-1);4. 字符串庫函數(shù)的實現(xiàn)請使用指針的方法來實現(xiàn)如下的庫函數(shù):Char * strncpy( char *s, char * t, int n)/ 復(fù)制 t 的前 n 個字符至 sChar * strncat( char *s, char * t, int n)/ 連接 t 的前 n 個字符至 s 的末尾int strncmp( char *s, char * t, int n) / 比較 s 和 t 的前 n 個字符并請編寫一個主函數(shù)來調(diào)用并測試自己編寫的庫。
4、函數(shù)。#include#includechar *strncpy(char *s,char *t,int n)int i,length;length=strlen(s);for(i=0;i*(t+i)return(1);break; else return(-1);break;void main()char a20,b20;int n;scanf(%s%s%d,a,b,&n);printf(%sn,strncpy(a,b,n);scanf(%s%s%d,a,b,&n);printf(%sn,strncat(a,b,n);scanf(%s%s%d,a,b,&n);printf(%dn,strnc。
5、mp(a,b,n);5. 算術(shù)練習(xí)程序(指針型函數(shù))一位小朋友正在學(xué)習(xí)兩個 100 以內(nèi)正整數(shù)的簡單運(yùn)算(加法、減法、乘法、除法) ,請編寫一個程序來幫助他學(xué)習(xí)。該程序調(diào)用一個 GetRandomExpression (),由它隨機(jī)返回一個簡單的表達(dá)式; 然后程序提示用戶輸入表達(dá)式的計算結(jié)果, 并判斷答案是否正確。#include#include#includeint result=1;voidGetRanddomExpression(int*num1,char *a,int *num2)int n;srand(time(NULL);*num1=rand()%100+1;*num2=rand(。
6、)%100+1;n=rand()%4;switch(n)case0:while(*num2*num1)*num2=rand()%100+1;result=(*num1)-(*num2);*a=-;break; case1:while(*num1+*num2)100)*num2=rand()%100+1;*a=+;result=(*num1)+(*num2);break; case2:while(*num1*(*num2)100)*num2=rand( )%100+1;*a=*;result=(*num1)*(*num2);break; case3:while(*num1%*num2!=0)*n。
7、um2=rand()%1 00+1;result=(*num1)/(*num2);*a=/;break;int judge(int answer)if(answer=result)return(1);else return(0);void main()int num1,num2;char a;int answer;while(result!=answer)GetRanddomExpression(&num1,&a,&num2);printf(please input the result of the expression:n%d%c%d=,num1,a,num2);scanf(%d,&ans。
8、wer);if(judge(answer)=1)printf(youareright!);else printf(sorry,it not the right answer.n);6. 數(shù)組分區(qū)(指針作為函數(shù)參數(shù))本題由三個部分構(gòu)成(1) 編寫一個函數(shù) CountEvensAndOdds ,其功能是統(tǒng)計一個整型數(shù)組中奇數(shù)和偶數(shù)的個數(shù)。該函數(shù)有 4 個參數(shù),整數(shù)型數(shù)組、數(shù)組的長度和兩個指針(用于返回奇數(shù)、偶數(shù)的個數(shù))(2) 利用( 1)中的 CountEvensAndOdds 函數(shù),編寫一個 Partition 函數(shù),其功能是找出給定長度的一個整型數(shù)組中的所有奇數(shù)和偶數(shù),并把它們分別保存在兩個新。
9、的整型數(shù)組中(用 C 語言的庫函數(shù) malloc 函數(shù)動態(tài)創(chuàng)建),然后返回這兩個新數(shù)組及其長度。該函數(shù)的參數(shù)有 6 個,整型數(shù)組、數(shù)組長度、奇數(shù)數(shù)組及其長度、偶數(shù)數(shù)組及其長度。(3) 編寫主函數(shù),要求能夠定義一個數(shù)組,并能夠用隨機(jī)數(shù)對該數(shù)組進(jìn)行初始化,然后調(diào)用( 2)中的函數(shù) Partition ,將原始數(shù)組、奇數(shù)數(shù)組、偶數(shù)數(shù)組輸出。#include #include#include#includevoid CountEvensAndOdds(int *parr,int arr_len,int *even_count,int *odds_count)int i;int count_even=0。
10、,count_odds=0; for (i=0;i#include#includevoid main()char *p,str50=0;int n,i,j=0,num26=0;gets(str);n=strlen(str);p=(char*)malloc(n*sizeof(char);for(i=0;stri!=0;i+)if(stri= )*(p+j+)=stri;elseif(numstri-97=0|numstri-97=2 |numstri-97=5)*(p+j+)=stri;numstri-97+;else numstri-97+;for(i=0;i#includevoid main。
11、()char*a6=FORTRAN,PASCAL,BASIC,C,COBOL,SMALLTALK;char b6,*p;int length,i,k;printf(please input some charactors:);scanf(%s,b);length=strlen(b);for(i=0;i#includevoid sort(char *name,int n)char *temp;int i,j,k;for(i=0;i0)k=j;if(k!=i)temp=namei;namei=namek;namek=temp;void print(char *name,int n)int i;fo。
12、r(i=0;i#includeint str_match(char *s1,char *s2,int len)while(len0)if(*s1!=*s2)return 0;s1+;s2+;len-;return 1;void main()int i,j,s,l,flag1,flag2;char str360=what the local bus?,Name some local bus.,A Localbus is high speed I/O bus close to the processor.;int len3;for(i=0;i0;l-)for(s=0; s+l-1#includei。
13、nt FindCode(char keyword100, int string_num, char string100)int k,letter126=0,letter226=0; for(k=0;k#include#includeint *CreateGrid(int m, int n, int t)int *p=NULL;int i,j;p=(int *)malloc(sizeof(int)*m);for(i=0;im;i+)*(p+i)=(int*)malloc(sizeof(int)*n); for(j=0;jn;j+)*(*(p+i)+j)=(int*)malloc(sizeof(i。
14、nt)*t);return p;void FreeGrid(int *p,int m,int n,int t)int i,j;if(p!=NULL)for(i=0;im;i+)for(j=0;jn;j+)free(*(*(p+i)+j);free(*(p+i);free(p);p=NULL;void main()int *p,m,n,t,i,j,k,s=1;scanf(%d,%d,%d,&m,&n,&t);p=CreateGrid(m,n,t);for(i=0;im;i+)for(j=0;jn;j+)for(k=0;kt;k+)*(*(*(p+i)+j)+k)=s;s+;for(i=0;im;i+)printf(dimension %d:n,i);for(j=0;jn;j+)for(k=0;kt;k+)printf(%-3d,*(*(*(p+i)+j)+k);putchar(n);FreeGrid(p,m,n,t。
總結(jié)
以上是生活随笔為你收集整理的C语言第六次作业指针,c语言第六次作业解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: finder.exe进程是什么文件 fi
- 下一篇: 终于加上用户呼吁已久的功能!Edge浏览