C語言實(shí)驗(yàn)題目(下)_第1頁
C語言實(shí)驗(yàn)題目(下)_第2頁
C語言實(shí)驗(yàn)題目(下)_第3頁
C語言實(shí)驗(yàn)題目(下)_第4頁
C語言實(shí)驗(yàn)題目(下)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、定義兩個(gè)字符數(shù)組si、s2,并用賦初值的方法把兩個(gè)字符串“computer”和“l(fā)anguage”分別 存放到si、s2中,要求不用庫函數(shù)strcat(),把s2連接到si的尾部,然后以s格式輸出連 接后的字符串si。#inelude <stdio.h>void main()char sl80,s240;int i=0,j=0;printf(”input stringl:*');scanf(” s”,&sl);printf(ninput string2:");scanf(”s”,&s2);while(sli!='o')i+;sli=

2、'';i+;while(s2j!=,0,)sli+=s2j+;sli = w;printf(uthe new string is:%sn'sl);用賦初值的方法把字符串"c is a general purpose, procedural, imperative computer programming language developed in 1972 by dennis ritchie at the bell telephone laboratories for use with the unix operating system."存放到字符

3、數(shù)組s中,編程統(tǒng)計(jì)其中的大寫字母、小 寫字母、數(shù)字、空格、逗號(hào)的個(gè)數(shù)。#include <stdio.h>void main()char s512 = "c is a general purpose, procedural, imperative ”"computer programming language developed in 1972 by dennis""ritchie at the bell telephone laboratories for use with ""the unix operating sy

4、stem."int upper=0,lower=0,digit=0,space=0,comma=0;int i=0;while (sfi)if(si>=,a,&&si<=,z,)upper+;if(si>='a'&&si<='z,)lower+;if(si>-0 '&&siv=9)digit+;if(si=- ')space+;if(si=7)comma+;i+;printfc*這串字符串有大寫字母4個(gè),小寫字母(個(gè),數(shù)字(個(gè),空格d個(gè),逗號(hào)4 4*n",u

5、pper,lower,digit,space,comma);1試從主函數(shù)輸入10個(gè)數(shù)據(jù)到數(shù)組中,編寫對(duì)偶數(shù)項(xiàng)求和的子函數(shù),它將計(jì)算結(jié)果返冋給主 函數(shù),rti主函數(shù)輸出。#include <stdio.h>int oqh(int a, int x)int i,s;s=0;for(i=l;i<x;i+=2)s=s+ai;return(s);void main()int a10;int i,s;printf(“請您在數(shù)組內(nèi)輸入10個(gè)數(shù):”);for(i=0;i<10;i+)scanf(” d“,&ai);s=oqh(a,10);printf(“這個(gè)數(shù)組的偶數(shù)項(xiàng)的和是:

6、%dn”,s);注意:oqh并無其他含義,是本人定義的一個(gè)函數(shù)名,偶數(shù)項(xiàng)求和的縮寫。編寫一個(gè)判斷素?cái)?shù)的程序,其中主函數(shù)用于完成輸入一個(gè)整數(shù)并給出判斷結(jié)果,單獨(dú)編寫一 個(gè)函數(shù)用于判斷其參數(shù)是否為素?cái)?shù),其返回值為1表示為素?cái)?shù),為0表示為非素?cái)?shù)。#include <stdio.h>#include <math.h>int prime(int n)intt=(int)sqrt(n);for(;i<=t;i+)if(n%i=0)m=0;break;m=l;elsecontinue;return(m);void main()int n;int i;printf(“請輸入你要判

7、斷的數(shù):n”);scanf(”d“,&n);while(n<=l)printf(“您輸入了一個(gè)錯(cuò)誤的數(shù)據(jù),請重新輸入:n“); scanf("%du,&n);if(prime(n)printf(n您輸入的是一個(gè)素?cái)?shù)n”);elseprintfc*您輸入的不是一個(gè)素?cái)?shù)n”);輸入三個(gè)整數(shù),按由小到大的順序輸出。(要求使用指針來排序輸出)#include <stdio.h>void sort(int *a,int *b,int *c)int t=0;if(*a>*b)t=*a;*a=*b;*b=t;if(*a>*c)t=*a;*a=*c;*c

8、=t;if(*b>*c)t=*b;*b=*c;*c=t;void main()int a,b,c; printf(n請您輸入三個(gè)整數(shù):“); scanf(k%d %d %d",&a,&b,&c);sort(&a,&b,&c);printf(陀們由小到大的排列順序是:d %d %dn“,a,b,c);或者是#inelude <stdio.h>void main()void swap(int *pl,int *p2);int a,b,c;int *pl,*p2,*p3;printf(h請您輸入三個(gè)整數(shù):“);scanf(”

9、d %d %d”,&a,&b,&c);pl 二&a;p2=&b;p3 二&c;if(a>b)swap(pl,p2);if(a>c)swap(p 1 ,p3);if(b>c)swap(p2,p3);printf(陀們由小到大的排列順序是:d %d %dn“,a,b,c);void swap(int *pl,int *p2)intp;p=*pl;*pl=*p2;*p2=p;輸入十個(gè)整數(shù),放在數(shù)組list中,然后用指針法從后向前輸出該數(shù)組中的整數(shù)。#include <stdio.h>void main()int list1

10、0,i,*p=list; printf(”請您輸入10個(gè)整數(shù):n“);for(i=0;i<10;i+)scanf(”d“,&listi);printf(”這10個(gè)整數(shù)的逆序序列是:); for(i=9; i>=0;i-)printf(” 4d“,*(p+i);如果輸入的數(shù)字個(gè)數(shù)不定的情況,下面的代碼可行# include <stdio.h>void main()void sort(char *p,int m);int i,n;char *p,list30;printfc謂您輸入n的值:“);scanf(”d”,&n);printfc '請您輸入(

11、1個(gè)整數(shù):n”,n); for(i=0;i<n;i+)scanf(”d“,&listi);p二&listo; sort(p,n); printf(nii%d個(gè)整數(shù)的逆序序列是:nn,n);for(i=0;i<n;i+)printf(”4d“,listi);printf(hnn);void sort(char *p,int m)inti;char t,*pl,*p2;for(i=0;ivm/2;i+)pl二p+i;p2=p+(m-l-i);t=*pl;*pl=*p2;*p2=t;編寫一個(gè)函數(shù),它能對(duì)一個(gè)字符串(“l(fā)am a student”)測出長度,要求函數(shù)的形參是

12、一個(gè)指 針變量,函數(shù)返回值是字符串的長度。#include <stdio.h>void main()int length(char *p);intlen;char str20;printf(hinput string/1);gets(str);len=length(str);printf("the length of string is %d.n",len);1int length(char *p)int n;n=0;while(*p!-0')n+;p+;/*p=,0,;n+;return(n);若要統(tǒng)計(jì)結(jié)果包含結(jié)束符,則啟用切二w;n+;兩條語句編一個(gè)

13、函數(shù)cstrcmp實(shí)現(xiàn)兩個(gè)字符串的比較,具體為:int cstrcmp(char *pl, char *p2)pl,p2分別指向字符串sl,s2;若sl=s2則函數(shù)返回0;若sl>s2,則函數(shù)返回1;若slvs2,則函 數(shù)返回1。聲明字符串sl,s2時(shí)對(duì)其進(jìn)行初始化。#include <stdio.h>#inelude <string.h>char si 20;char s220;void input()printf(“輸入第1個(gè)字符串:n”);scanf(” s”,sl);printfc輸入第2個(gè)字符串:n”);scanf(”s”,s2);1int cstrcm

14、p(char *pl,char *p2)pl=sl;p2=s2;if(strcmp(pl,p2)=0)return 0;if(strcmp(pl,p2)>0)return 1;if(strcmp(pl ,p2)<0)return -1;void main()char *a;char *b;input();printf(n這兩個(gè)字符串比較的結(jié)果:%dnh,cstrcmp(a,b);如果要求返回的是不相同字母的ascii碼值:#include <stdio.h>void main()int cstrcmp(char *pl,char *p2);int m;char str

15、1 20,char str220,*pl,*p2; printf(n請?jiān)谙露斎雰蓚€(gè)字符串:n”); gets(strl);gets(str2);pl=&strloj;p2=&str20;m=cstrcmp(p 1 ,p2);prinllt這兩個(gè)字符串比較的結(jié)杲是:dn”,m);int cstrcmp(char *pl,char *p2)int i;i=0;while(*(p 1 +i)=*(p2+i)if(*(p 1 +i+)='0')return(0); return(*(p 1 +i)-*(p2+i);有5個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名、3門課的成績

16、,用賦初值的方法輸入5個(gè)學(xué) 生的數(shù)據(jù)到結(jié)構(gòu)體數(shù)組中,輸出每個(gè)學(xué)生3門課的平均成績。#include <stdio.h>struct studentchar num6j;char name8j;int score3;float avr;stu5=”101”,“zhoir,93,89,87,“102“,”yang”,85,80,78,”103”,”cheii“,77,70,83,” 104;qan”,70,67,60, t 05 ",” li",72,70,69;void main()intfor(i=0;i<5;i+)sum=0;forg=0;j<3;

17、j+)sum+=stui.score|j;stui.avr=sum/3.0;printf(nnumber name score 1 score2 score3 averagenn);for(i=0;i<5;i+)printf("%3s% 10s",stui.num,);for(j=0;j<3;j+)printf(n%7du,stui.scorej);printf(u%10.2fnu,stui.avr);如果按平均成績由高到低排序后,輸出每個(gè)學(xué)生的成績# include <stdio.h>struct studentchar num6j;char name8j;int score3;float avr;stu5=”101”,“zhoir,93,89,87,“102“,”yang”,85,80,78,”103”,”cheii“,77,70,83, t 04”, “qian”,70,67,60, t 05 “,“l(fā)i“,72,70,69 ,temp;void main()int ij,sum;for(i=0;i<5;i+)sum=o;for(j=0;j<3;j+)sum+=stui.scorej;stui.avr=sum/3.0;for(i=0;i<4;i+)for(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論