C程序設(shè)計(jì)教程課后習(xí)題答案吉順如版(共66頁(yè))_第1頁(yè)
C程序設(shè)計(jì)教程課后習(xí)題答案吉順如版(共66頁(yè))_第2頁(yè)
C程序設(shè)計(jì)教程課后習(xí)題答案吉順如版(共66頁(yè))_第3頁(yè)
C程序設(shè)計(jì)教程課后習(xí)題答案吉順如版(共66頁(yè))_第4頁(yè)
C程序設(shè)計(jì)教程課后習(xí)題答案吉順如版(共66頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第1章習(xí)題一、選擇題1、A  2、D  3、C  4、D  5、B  6、C  7、C  8、B  9、B  10、A二、填空題1、一,函數(shù)體2、main(主),main(主)3、編譯,目標(biāo)4、.c,.obj,.exe5、縮進(jìn),無(wú)影響,/*  */三、程序分析題1、*         

2、;Very good!    * 2、    a=12,b=5    a=17,b=22 3、r= 5.50,s=95. 四、編程題1用printf()函數(shù)在屏幕上輸出自己的班級(jí)、學(xué)號(hào)、姓名。#include"stdio.h"void main() printf("班級(jí):BX1109n");    printf("學(xué)號(hào)

3、:1n");    printf("姓名:王孟榮n");      2從鍵盤輸入兩個(gè)整數(shù),計(jì)算它們的和、差、積、商,并在屏幕上輸出結(jié)果。 #include<stdio.h>void main()int x,y,a,b,c;float d;printf("Please Input Two Integers:n");scanf("%d%d",&

4、;x,&y);a=x+y;b=x-y;c=x*y;d=1.0*x/y;printf("a=%dnb=%dnc=%dnd=%fn",a,b,c,d);  第2章習(xí)題一、選擇題15   BCDCD610  DBBCA二、填空題1單精度浮點(diǎn)型、雙精度浮點(diǎn)型、字符型203x%10*10+x/1045.555.7   206sin(sqrt(x*x)/(a*b)7 ,8   173  7B93  &

5、#160;3103三、程序分析題1 7,8,102 1,33.   5  F4 (int)i=12, 12.505 461579112四、編程題1編寫程序,求表達(dá)式c=21%9-(float)a+4/b*b的值,假設(shè)表達(dá)式中a和b的值分別由鍵盤輸入。#include<stdio.h>void main( )     int a,b;    float c;

6、    printf("Please input data a,b: ");    scanf("%d%d",&a,&b);    c=21%9-(float)a+4/b*b;    printf("c=%5.2fn", c); 2. 編寫程序,從鍵盤輸入兩個(gè)整數(shù)存入變量a和b中,求a2-b2

7、的值并輸出。   #include<stdio.h>void main( )     int a,b,c;    printf("Please input data a,b: ");    scanf("%d%d",&a,&b);    c=a*a-b*b;&#

8、160;   printf("c=%dn", c);  第3章習(xí)題一、選擇題12345678910DCA、B ABBB、C BDD 二、填空題1. 有窮性 確定性 可行性2.  #3. 從終端(鍵盤)輸入一個(gè)字符4.  m   d5.  97,g6.  123.,   123.46, 1237. 格式控制符不

9、正確(輸入數(shù)據(jù)時(shí)不能控制列寬和小數(shù)位數(shù))8. 63,63,77,3f9. %f%f  &x,&y10. <stdio.h>   ch   ch三、程序分析題1. c=112. a=123  f=4573. x=345  y=3.4. a=1,b=3  a=3,b=15. (題目需修改為:從鍵盤輸入一個(gè)除a和z以外的小寫字母)程序的功能:從鍵盤輸入一個(gè)

10、除a和z以外的小寫字母,求出該字母對(duì)應(yīng)的大寫字母的前趨和后繼字母,然后順序輸出此三個(gè)大寫字母,每個(gè)字母所占列寬為3。運(yùn)行結(jié)果: 假如輸入:f '           輸出:      E  F  G 四、編程題1編寫程序,計(jì)算的值并輸出(保留3位小數(shù)),其中a、b的值由鍵盤輸入。#include <stdio.h>#includ

11、e<math.h>void main( )  float a, b,x;   scanf("%f%f", &a, &b);   x=(a*a+b*b)/sqrt(3*(a+b);   printf("x=%.3fn",x); 2編寫程序,從鍵盤輸入一個(gè)梯形的上底a、下底b和高h(yuǎn),輸出梯形的面積s。 #include <std

12、io.h>#include<math.h>void main( )  float a, b,h,s;   scanf("%f,%f,%f", &a,&b,&h);   s=(a+b)*h/2;   printf("梯形面積s=%.2fn",s);  3編寫程序,在屏幕上輸入你姓名的第一個(gè)字母,顯示出該字母以及下面的信息: &#

13、160;Hello!This is a c program.  My name is 第一個(gè)字母 #include <stdio.h>void main( )    char name;  name=getchar();  putchar(name);  printf("nHello!n");  print

14、f("This is a c program.n");  printf("My name is %cn",name);  第4章習(xí)題一、選擇題12345678910BBCBCA CBACC 二、填空題1.  !   &&   |2.  13.  a   b4.&#

15、160; 15.  06.  x%4= =0 && x%100!=07.  5   68.  A9.  x<0 | x>10 && x<5010.  -1三、程序分析題1 No2 -23.   5    3  

16、  24 #&5 (1)2    (2)3    CC   a=2,b=2,c=4四、編程題1. 有一個(gè)函數(shù)如下:            x2-2         (x<5) y=  &

17、#160;  3x+5        (5x<50)            x-     (x50)   編寫程序,輸入x的值,計(jì)算相應(yīng)的y值輸出(保留3位小數(shù))。#include<stdio.h>#include<math.h>void main()

18、0; float x,y;    scanf("%f", &x);    if(x<5)  y=x*x-2;    else if(x<50) y=3*x+5;     else   y=x-sqrt(4*x-1);    printf("

19、x=%f, y=%.3fn", x,y); 2編寫一個(gè)程序,根據(jù)輸入的三角形的三條邊判斷是否能組成三角形,如果可以則輸出它的面積和三角形類型(等邊、等腰、直角、一般三角形)。#include<stdio.h>#include<math.h>void main( )  float a, b, c, s, area;   scanf("%f,%f,%f", &a,&b,&

20、amp;c);   if(a+b>c && b+c>a && a+c>b)     s=(a+b+c)/2;      area=sqrt(s*(s*(s-a)*(s-b)*(s-c);       printf("area=%fn",area);  

21、0;    if(a=b && b=c)      printf("等邊三角形n");        else if(a=b | a=c | b=c)          printf("等腰三角形n&qu

22、ot;);            else if(a*a + b*b= c*c)|(a*a + c*c= b*b)|(b*b + c*c = a*a)              printf("直角三角形n")

23、;                else  printf("一般三角形n");    else printf("不能組成三角形n"); 3設(shè)獎(jiǎng)金稅率r有如下的要求 (n代表獎(jiǎng)金) :       0  

24、60;     n<1000               5%     1000n<2000    r=    8%     2000n<3000    

25、0;     10%    3000n<6000       15%    6000n用switch多分支選擇語(yǔ)句編寫程序,輸入獎(jiǎng)金值,計(jì)算并輸出相應(yīng)的稅率和實(shí)際應(yīng)得獎(jiǎng)金值。#include<stdio.h>void main( )  float n, r, s;   int

26、60;m;   printf("請(qǐng)輸入獎(jiǎng)金值:");   scanf("%f", &n);   if(n>=6000)  m=6;   else  m=n/1000;   switch(m)     case 0: r=0; break;  &#

27、160;   case 1: r=0.05; break;      case 2: r=0.08; break;      case 3:       case 4:      case 5: r=0.1; 

28、break;      case 6: r=0.15; break;    s=n-r*n;  printf("稅率r=%.0f%, 獎(jiǎng)金值n=%.2f, 實(shí)際應(yīng)得獎(jiǎng)金值s=%.2fn",r*100, n, s); 4. 從鍵盤輸入任意4個(gè)數(shù)a、b、c、d,按照從大到小的順序排列后重新輸出。#include<stdio.h>void main(&

29、#160;)  int a, b, c, d,t;   scanf("%d,%d,%d,%d", &a,&b,&c,&d);   if(a<b)t=a;a=b;b=t;   if(a<c)t=a;a=c;c=t;   if(a<d)t=a;a=d;d=t;   if(b<c)t=b;b=c;c=t;&#

30、160;  if(b<d)t=b;b=d;d=t;   if(c<d)t=c;c=d;d=t;   printf("%d %d %d %dn", a,b,c,d); 5. 給出一個(gè)不超過(guò)4位數(shù)的正整數(shù),判斷它是幾位數(shù),并按逆向輸出各位數(shù)字。例1234,輸出為4321。#include<stdio.h>void main( )  int num,i,j,k,m;&#

31、160;  printf("輸入一個(gè)少于4位的正整數(shù):");   scanf("%d",&num);   if(num>=0 && num<=9999)    if(num>1000 && num<=9999)       printf("是一個(gè)4位數(shù)n&

32、quot;);   m=num%10;             /*求個(gè)位上的數(shù)字*/   k=num/10%10;          /*求十位上的數(shù)字*/   j=num/100%10;       

33、60; /*求百位上的數(shù)字*/       i=num/1000;           /*求千位上的數(shù)字*/       printf("逆序數(shù)為:%d%d%d%dn",m,k,j,i);        else if(num&

34、gt;=100)      printf("是一個(gè)3位數(shù)n");m=num%10;            /*求個(gè)位上的數(shù)字*/k=num/10%10;         /*求十位上的數(shù)字*/    j=num/100;    &

35、#160;      /*求百位上的數(shù)字*/      printf("逆序數(shù)為:%d%d%dn",m,k,j);            else if(num>=10)    printf("是一個(gè)2位數(shù)n"); m=num%10; 

36、0;  /*求個(gè)位上的數(shù)字*/ k=num/10;    /*求十位上的數(shù)字*/       printf("逆序數(shù)為:%d%dn",m,k);           else     printf("是一個(gè)1位數(shù)n");   &#

37、160; printf("逆序數(shù)為:%dn",num);         else printf("是一個(gè)無(wú)效的數(shù)n"); 第5章習(xí)題一、選擇題12345678910BCBCA    BDBAB 二 填空題1.  循環(huán)   switch2.  4,73.  64.  #

38、 # 5.  0 2   6.  18 7.  1  8.  sum=80  9.  c=getchar()    n:m10.  i %13= =0  break三 程序分析題1. output1:21  6  output2:

39、 5  6  output3: 5  7  72.  n=73.  Max=18    Min=34.  1*1=1    2*1=2  2*2=4    3*1=3  3*2=6  3*3=95.  0  1 

40、; 2  3    1  2  3  0    2  3  0  1    3  0  1  2四、編程題1. 從鍵盤上輸入若干字符,以按Enter鍵結(jié)束,統(tǒng)計(jì)其中字符A或a的個(gè)數(shù)。#include "stdio.h"main()

41、 char ch;  int k=0;  while(ch=getchar()!='n')    if(ch='A' | ch='a')       k=k+1;   printf("%dn",k);2. 利用=×的前100項(xiàng)之積計(jì)算p的值。   &#

42、160;#include  <stdio.h>main()double term, result = 1; /*累乘項(xiàng)初值應(yīng)為1*/int n;for (n=2; n<=100; n = n + 2)   term=(double)( n * n)/(n-1)*(n+1); /*計(jì)算累乘項(xiàng)*/   result = result&

43、#160;* term;printf("result = %fn", 2*result);3. 用1元5角錢人民幣兌換5分、2分和1分的硬幣(每一種都要有)共100枚,問(wèn)共有幾種兌換方案?每種方案各換多少枚?    #include<stdio.h>main()int x,y,z,count=0;for(x=1;x<=28;x+) for(y=1;y<=73;y+)  z=100-x-y;  if(5*

44、x+2*y+z=150)     count+;  printf("%d,%d,%dn",x,y,z);printf("count=%dn",count);4. 雞兔同籠,共有98個(gè)頭,386只腳,編程求雞、兔各多少只。#include <stdio.h>main() int x, y;for (x=1;x<=97;x+)  y=98-x;if(2*x+4*y=386)   printf(

45、"雞=%d,兔=%d",x,y); 5. 將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。#include  <stdio.h>main()  int n,i;  printf("nplease input a number:n");  scanf("%d",&n);  printf("%d=",n); &#

46、160;for(i=2;i<=n;i+)     while(n!=i)      if(n%i=0)   printf("%d*",i);        n=n/i;        else  break;   print

47、f("%d",n);6. 從鍵盤任意輸入一個(gè)4位數(shù)x,編程計(jì)算x的每一位數(shù)字相加之和。例如,輸入x為1234,則由1234分離出其千位1、百位2、十位3、個(gè)位4,然后計(jì)算1+2+3+4=10,并輸出10。#include<stdio.h>#include<math.h>main()int i1,i2,i3,i4,k,n;printf("Inputdatais:");scanf("%d",&n);k=fabs(n); /*取絕對(duì)值*/i1=k/1000; /*分離出千位*/i2=(k-

48、i1*1000)/100; /*分離出百位*/i3=(k-i1*1000-i2*100)/10;     /*分離出十位*/i4=k%10; /*分離出個(gè)位*/printf("The sum of the total bit is %dn",i1+i2+i3+i4); 7. 打印出所有"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)水仙花數(shù),因?yàn)?53=13+5

49、3+33。#include <stdio.h>void main()   int i,j,k,n;  printf("parcissus numbers are:n");  for (n=100;n<1000;n+)       i=n/100;    j=n/10-i*10;   

50、0;k=n%10;    if (n=i*i*i+j*j*j+k*k*k)      printf("%dn",n);      8. 利用泰勒級(jí)數(shù)sin(x)計(jì)算sin(x) 的值。要求最后一項(xiàng)的絕對(duì)值小于10-5,并統(tǒng)計(jì)出此時(shí)累加了多少項(xiàng)(x由鍵盤輸入)。#include  <math.h>#include  <stdio.h

51、>main()int n=1,count=1;float x;double sum,term;       /*因?yàn)槲粩?shù)多,所以定義為雙精度 */printf("Input x: ");scanf("%f", &x);sum=x;term=x;           /*賦初值*/doterm=-term*

52、x*x/(n+1)*(n+2);sum=sum+term;        /*累加 */n=n+2;count+;while(fabs(term)>=1e-5);printf("sin(x)=%.1f,count=%dn",sum,count); 9編寫一個(gè)猜數(shù)游戲:任意設(shè)置一個(gè)整數(shù),請(qǐng)用戶從鍵盤上輸入數(shù)據(jù)猜想設(shè)置的數(shù)是什么,告訴用戶是猜大了還是小了。10次以內(nèi)猜對(duì),用戶獲勝;否則,告訴用戶設(shè)置的數(shù)據(jù)是什么。#include <stdio.h>void

53、60;main()int num=123,x,n; printf("hint:0<number<1000n");  /*給出數(shù)據(jù)范圍的提示信息*/ for(n=1;n<=10;n+) printf("guess:");  scanf("%d",&x);  if(x=num)  printf("Win!n");break;  if(x>num)&#

54、160;   printf("bigger!n");  if(x<num)    printf("smaller!n");  if(n=11)  printf("Lost!the number is %dn",x); 10. 編程輸出以下圖案。*#include <stdio.h>  main() &

55、#160;int i,j;  for(i=1;i<=4;i+)      for (j=20-i;j>=1;j-)      printf("%c",' ');    for (j=0;j<2*i-1;j+)          

56、; printf("*");    printf("n");    for (i=3;i>=1;i-)      for (j=20-i;j>=1;j-)           printf("%c",' '); 

57、   for (j=0;j<2*i-1;j+)               printf("*");    printf("n");   第6章習(xí)題一、選擇題12345678910DADBDCBDBD 二 填空題1.  02.  14

58、  m310  74.  數(shù)據(jù)類型 5.  strcpy(S2,S1)    #include<string.h>  6.  0   3 7.   7,6  8.   sum=0    i=j    aij 

59、 9.  410.  Tony三 程序分析題1.   max=85     min=5     sum=180     aver=30.002.   a=2    b=2    c=2    d=2 

60、   e=1    f=2    g=23.  j=454.  Ti_saCPorm    Tss_Pgm5.  1  1  1  5四、編程題1從鍵盤輸入15個(gè)整數(shù),存放在數(shù)組中,找出其中最小數(shù)并指出其所在的位置。#include<stdio.h>#define N 15main()int

61、60;min,i,j,aN; printf("Enter N integers:n");  for(i=0;i<N;i+)scanf("%d",&ai);min=a0;for(i=1;i<N;i+) if(min>ai)   min=ai;   j=i;   printf("%d,%d",min,j); 2將輸入的十進(jìn)制正整數(shù)化為十六進(jìn)制數(shù)。#incl

62、ude <stdio.h>main()int i,x,j,a20;printf("請(qǐng)輸入一個(gè)正整數(shù):");while(1)     scanf("%d",&x);   if(x<0)     printf("數(shù)據(jù)輸入錯(cuò)誤,請(qǐng)重新輸入一個(gè)正整數(shù):");   else break;i=0;while(x)ai=x%16;x=x

63、/16;i+;    for(j=i-1;j>=0;j-)if(aj<=9)printf("%d",aj);else if(aj<=15)printf("%c",aj+'A'-10);printf("n"); 3從鍵盤輸入一行字符,統(tǒng)計(jì)其中有多少單詞,假設(shè)單詞之間以逗號(hào)分隔。#include <stdio.h>     void main() 

64、0;          char string81;       int i,num=0,word=0;       char c;       gets(string);       fo

65、r (i=0;(c=stringi)!='0'i+)       if(c=',') word=0;       else if(word=0)   word=1;num+;printf("There are %d words in the line.n",num); 4從鍵盤

66、輸入一字符串,放在字符數(shù)組a中,將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素按從小到大排序。#include<stdio.h>#include<string.h>void main()   char a80,t,m;  int i,j,k;  printf("請(qǐng)輸入一字符串:");  gets(a);  k=strlen(a);  for(i=0;i<=k-2;i+=2)  &#

67、160; m=i;     for(j=i+2;j<=k; j+=2  )if(am>aj)          m=j;if(m!=i) t=ai;ai=am;am=t;         puts(a);    printf("n");&

68、#160;  5編寫程序輸出以下楊輝三角形(要求輸出10行)。1       1       11       2       11       3       

69、;3       11       4       6       4       11       5      &#

70、160;10      10      5       1                             &#

71、160; #include<stdio.h>#include<string.h>void main() int i,j,a1010;  for(i=0;i<10;i+)   ai0=aii=1;     for(j=1;j<i;j+)        aij=ai-1j-1+ai-1j;   for(i=0;i&l

72、t;10;i+)       for(j=0;j<=i;j+)printf("%6d",aij);   printf("n");      6編程將s數(shù)組中的字符串的正序和反序進(jìn)行連接,形成一個(gè)新串放在t數(shù)組中。例如,當(dāng)s數(shù)組中字符串為"ABCD" 時(shí),則t數(shù)組中的內(nèi)容應(yīng)為:"ABCDDCBA"。#include<stdio.h>

73、#include<string.h>main()  char s100, t100;    int i,d;printf("Please enter string S:"); scanf("%s",s);  d=strlen(s);  for(i=0;i<d;i+)  ti=si;  for(i=0;i<d;i+) 

74、; td+i=sd-1-i;  t2*d='0'  printf("The result is: %sn",t); 7某公司在傳輸數(shù)據(jù)過(guò)程中為了安全要對(duì)數(shù)據(jù)進(jìn)行加密,若傳遞的是四位的整數(shù),對(duì)其進(jìn)行加密的規(guī)則為:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。如:輸入數(shù)字7659,則加密后的數(shù)字為4012#include<stdio.h>main() int a,i,aa4,t;printf(

75、"輸入一個(gè)需加密的四位數(shù)整數(shù):");scanf("%d",&a);aa0=a%10;aa1=a%100/10;aa2=a%1000/100;aa3=a/1000;for(i=0;i<=3;i+)aai+=5;aai%=10;for(i=0;i<=3/2;i+)t=aai;aai=aa3-i;aa3-i=t;printf("加密后的數(shù)字為:");for(i=3;i>=0;i-)printf("%d",aai);printf("n"); 8編寫程序查找數(shù)值18在以

76、下二維數(shù)組中第一次出現(xiàn)的位置。     3    4    5    188    12   16   5443   34   18   7 #include <stdio.h>main() int

77、 i,j,a34=3,4,5,18, 8,12,16,54, 43,34,18,7;  for(i=0;i<3;i+)   for(j=0;j<4;j+)     if(aij=18) break;if(j<4)break;    printf("數(shù)值18第一次出現(xiàn)的位置在%d行,第%d列n",i+1,j+1); 9設(shè)有4行4列的數(shù)組a,其元素aij=3*i+2*j-6

78、。編寫程序,實(shí)現(xiàn)如下功能:(1) 求第二行4元素的累加和;(2) 求第四列4元素的平均值;(3) 求主對(duì)角線4元素中負(fù)數(shù)的個(gè)數(shù)。#include <stdio.h>void main()  int a44,i,j,s=0,m=0;float n=0;for(i=0;i<4;i+)for(j=0;j<4;j+)aij=3*i+2*j-6;printf("原始數(shù)組為:n");for(i=0;i<4;i+)  for(j=0;j<4;j

79、+)printf("%3d",aij);printf("n");for(j=0;j<4;j+)s+=a1j;printf("第二行4元素累加和為:%dn",s);for(j=0;j<4;j+)n+=aj3;printf("第四列4元素平均值為:%.2fn",n/4.0);for(i=0;i<4;i+)if(aii<0)m+;printf("主對(duì)角線4元素中負(fù)數(shù)的個(gè)數(shù)為:%dn",m); 10約瑟夫環(huán)問(wèn)題:編號(hào)為1,2,3,.,n的n個(gè)人按順時(shí)針?lè)较驀蝗?,每?/p>

80、持有一個(gè)正整數(shù)密碼。一開(kāi)始任選一個(gè)正整數(shù)m作為報(bào)數(shù)上限值,從第一個(gè)人開(kāi)始按順時(shí)針報(bào)數(shù),報(bào)到m時(shí)停止,報(bào)m的人出列,將他的密碼作為新的m值,從他在順時(shí)針?lè)较虻南乱粋€(gè)人開(kāi)始重新從1報(bào)數(shù),如此下去,直到所有人全部出列為止。設(shè)計(jì)程序求出出列順序。分析:設(shè)整型數(shù)組a中保存n個(gè)人的密碼,對(duì)應(yīng)的人出列后,數(shù)組元素置0作為標(biāo)志。順時(shí)針確定下一個(gè)人的方法,可將下標(biāo)加1,再對(duì)n求余。#include <stdio.h>#define N 100main() int a100;  int i,j,m,n,k=0; 

81、 printf("輸入人數(shù)n和任選的一個(gè)正整數(shù)m:");  scanf("%d%d",&n,&m);  printf("輸入n個(gè)人的密碼: ");  for (i=0;i<n;i+)     scanf("%d",&ai);  printf("n出列順序?yàn)? ");  for(i

82、=0;i<n;i+)     j=1;      while(j<m)       while(ak=0) /*跳過(guò)已出列的人*/        k=(k+1)%n;        j+;    &

83、#160;   k=(k+1)%n;            while(ak=0) /*跳過(guò)已出列的人*/        k=(k+1)%n;      printf("%d ",k+1);      m=ak

84、;   ak=0;      第7章習(xí)題一、選擇題12345678910 ADDBADCDBA 二 填空題1.  main()2.  main()3函數(shù)首部4.  解決函數(shù)必須“定義在前,使用在后”的原則問(wèn)題5.  int6.  定義    調(diào)用 7.   地址傳遞   

85、; 值傳遞  8.  return  void  9.  void f(float a,float b)      float f(float a,float b)10.  static三 程序分析題1.   a=482.   8,173.   27

86、214.  BASIC    C    COBOL    FORTRAN    PASCAL    Smalltalk5.  6    1  2  3    6  5  4 四、編程題1寫一

87、個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否素?cái)?shù)的信息。#include <stdio.h>#include<math.h>void main() int prime(int);  int n;  printf("Input an integer:");  scanf("%d",&n);  if (prime(n)    

88、printf("n %d is a prime.n",n);  else    printf("n %d is not a prime.n",n);   int prime(int n)  int flag=1,i;   for (i=2; i<sqrt(n) &

89、amp;& flag=1;i+)     if (n%i=0)       flag=0;   return(flag);   2寫一個(gè)函數(shù),用于實(shí)現(xiàn)函數(shù)strcmp()的功能,能將兩個(gè)字符串進(jìn)行比較,將兩個(gè)字符串中第一個(gè)不相同字符的ASCII碼值之差作為函數(shù)的返回值。#include <stdio.h>int MyStrcmp(char s,&#

90、160;char t);main()char  str120,str220;printf("Input string:");gets(str1);printf("Input another string:");gets(str2);if (MyStrcmp(str1,str2)>0)printf("str1>str2n");else if (MyStrcmp(str1,str2)<0)   

91、0;printf("str1<str2n");       else  printf("str1=str2n"); int MyStrcmp(char s, char t) int i;for (i=0;si=ti; i+)         if (si='0

92、9;)  return 0    return (si-ti);   3. 寫一個(gè)函數(shù),用于實(shí)現(xiàn)函數(shù)strcat()的功能, 能將兩個(gè)字符串連接。#include <stdio.h>void main()void concatenate(char string1,char string2,char string); char s1100,s2100,s100; pr

93、intf("input string1:"); scanf("%s",s1); printf("input string2:"); scanf("%s",s2); concatenate(s1,s2,s); printf("nThe new string is %sn",s);  void concatenate(char string1,char

94、 string2,char string)int i,j; for (i=0;string1i!='0'i+)   stringi=string1i; for(j=0;string2j!='0'j+)   stringi+j=string2j; stringi+j='0' 4. 從鍵盤任意輸入10個(gè)整數(shù),用函數(shù)編程實(shí)現(xiàn)將其中最大數(shù)與最小數(shù)的位置對(duì)換后,再輸出調(diào)整后的數(shù)組。#include 

95、 <stdio.h>#define ARRSIZE 10   void  MaxMinExchang(int a, int n)int  maxValue=a0, minValue=a0, maxPos=0, minPos=0;int  i, temp;for (i=1; i<n; i+)if (ai > maxValue)

96、maxValue = ai;          maxPos = i;        else if (ai < minValue)minValue = ai;           minPos 

97、;= i;          temp = amaxPos;amaxPos = aminPos;aminPos = temp;main()int aARRSIZE,i;printf("Input %d Numbers:n",ARRSIZE);  for (i=0; i<ARRSIZE; i+)scanf("%d&

98、quot;, &ai);     MaxMinExchang(a, ARRSIZE);printf("After MaxMinExchange:n");for (i=0;i<ARRSIZE; i+)printf("%4d", ai);printf("n")  5. 寫一函數(shù),能對(duì)給定的一個(gè)二維數(shù)組(3×3)進(jìn)行轉(zhuǎn)置(即行列互換)。#include <stdi

99、o.h>#define N 3int arrayNN;void main() void convert(int array3);int i,j; printf("input array:n"); for (i=0;i<N;i+)   for (j=0;j<N;j+)     scanf("%d",&arrayij);

100、60;printf("noriginal array :n"); for (i=0;i<N;i+)  for (j=0;j<N;j+)    printf("%5d",arrayij);   printf("n");  convert(array); printf("convert array:n"); for

101、60;(i=0;i<N;i+)  for (j=0;j<N;j+)     printf("%5d",arrayij);   printf("n");    void convert(int array3)int i,j,t; for (i=0;i<N;i+)   for (j=i+1;j<N;j+)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論