精品午夜福利中文字av_国产成人综合网_av毛片免费观看网站_欧美影视国产综合_野花香视频中文免费观看_亚洲无码要在线视频_又粗又大又用力大交换好大好爽小静_欧美贵妇v办公室高跟鞋_亚洲国产高清a∨网站_免费中文少妇亚洲

知ing

C語言程序設(shè)計(jì)教程答案

楊路明 郭浩志 編 / 北京郵電大學(xué)出版社

旺仔 上傳

查看本書

1 1)  A

2)  B

3)  D

 

2:     (1)  10||10||10

2)  pogam

 

3:       (1)  *p!=0&&*q!=0    *p>=*q;     q++

 (2)   i<11     &a[i]     {i--;if(i==0)break;}    i!=0  

4、/ *題目:輸入一個(gè)字符串,再刪除指定的字符*/

/ *如果字符串中沒有指定字符,則輸出原字符串。*/

#include<stdio.h>

void fun(char *str,char c)

{   char *p;

      for(p=str;*p!='\0';p++)

         if(*p!=c)

         *str++=*p;

         *str='\0';

}

void main()

{   char str[80],c;

    printf("\nPlease input a string:  ");

    gets(str);

    printf("\n\nPlease input delete char:   ");

    scanf("%c",&c );

    fun(str,c);

    puts(str);

    getch();

}

5/ *從鍵盤輸入單詞,每個(gè)單詞之間用空格隔開,.”號結(jié)束輸入,*/

/ *將每個(gè)單詞的第一個(gè)字母轉(zhuǎn)化成大寫字母。*/

#include<stdio.h>

#include<string.h>

char zhuanhua(char c)    / *定義將小寫字母轉(zhuǎn)化為大寫字母的函數(shù)*/

{   char C;

    if(c>='a'&&c<='z')    / *是小寫字母就轉(zhuǎn)化,不是則原樣返回*/

          C=c-32;

    else  C=c;

    return C;

}         / *此函數(shù)防止有標(biāo)點(diǎn)符號或者第一個(gè)字母本身是大寫字母*/

void main()

{   char a[100],*p=a;

    int i=1,j;

    a[0]=' ';p++;   / *為方便下面的if語句,初始化a[0]為空格*/

    printf("\nPlease input a string:   ");

    for(;;)

    {   scanf("%c",p);

if(*p=='.')

   break;

p++;i++;

    }

    a[i]='\0';

    for(j=1;j<i;j++)

    {   if(a[j-1]==' '&&a[j]!=' ')/ * 第一個(gè)字母前面可能有很多空格*/

        a[j]=zhuanhua(a[j]); / *調(diào)用轉(zhuǎn)化函數(shù),使其變?yōu)榇髮懽帜?/span>*/

    }

    p=a;

    while(*p)

    {printf("%c",*p);p++;}

    getch();

}

6、/ *輸入8個(gè)數(shù),排序后輸出。*/

#include<stdio.h>

#include<string.h>

void main()

{   int data[8],i,*p1,*p2,temp;

    p1=data;

    printf("\nInput 8  number: ");

    for(i=0;i<8;i++)

    {  scanf("%d",p1);  p1++;  }

    for(p1=data;p1<data+8-1;p1++)

       for(p2=p1+1;p2<data+8;p2++)

          if(*p1<*p2)

          {  temp=*p1;*p1=*p2;*p2=temp;}

    for(i=0,p1=data;i<8;i++,p1++)

       printf("%d   ",*p1);

    getch();

}

7、/ *題目:輸入一個(gè)字符串,將此字符串的m個(gè)字符開始的第n個(gè)字符復(fù)制到另一個(gè)字符串。*/

#include<stdio.h>

void main()

{   int m,n,i;

    char a[100],b[100],*p,*q;

    printf("Please input a string:   ");

    gets(a);

    p=a;q=b;

    printf("\n\nPlease input m and n(like 1,1):   ");

    scanf("%d,%d",&m,&n);

    if( (strlen(a)>=m) && ((strlen(a)-m+1)>=n) )/ *復(fù)制的位置要符合要求*/

    {   p+=m-1;          / *指針指向第一個(gè)要復(fù)制的字符*/

        for(i=0;i<n;i++)

        {   *q=*p; p++; q++;   }

       *q='\0';

       printf("String a is:  %s\n",a);

       printf("string b is:  %s\n",b);

    }

    else  printf("\nError!!!!");  / *復(fù)制的位置不符合要求,打印錯(cuò)誤*/ 

    getch();

}

8、/ *輸入8個(gè)數(shù),將最大的數(shù)與第一個(gè)數(shù)對換。*/

/ *將最小的數(shù)與最后一個(gè)數(shù)對換*/

#include<stdio.h>

void main()

{

    int a[100],temp1=0,temp2=0,max=0,min=0,k;

    printf("\nPlease input 8 ge shu:    ");

    for(k=0;k<8;k++)

    {   scanf("%d",&a[k]);

        if(a[k]<a[min])min=k;  / *用標(biāo)記min最小值的下標(biāo)*/

        if(a[k]>a[max])max=k;   / *用標(biāo)記max最大值的下標(biāo)*/

    }

    if(min==0)

    {   if(max==7)

        {  temp1=a[0]; a[0]=a[7];a[7]=temp1;   }

        else

        {  temp2=a[7];a[7]=a[min];

           a[0]=a[max];a[max]=temp2;

        }

    }

    else if(max==0)

    {   if(min!=7)

        {  temp2=a[7]; a[7]=a[min];a[min]=temp2;}

    }

    else

    {   if(min==7)

{  temp1=a[0];a[0]=a[max];a[max]=temp1;}

else if(max==7)

{  temp2=a[7];a[7]=a[min];

           a[min]=a[0];a[0]=temp2;

}

else

{  temp1=a[0];temp2=a[7];

   a[0]=a[max];a[7]=a[min];

   a[min]=temp2;a[max]=temp1;

}

    }

    for(k=0;k<8;k++)

    printf("%d  ",a[k]);

    getch();

}

9

/ *輸入n個(gè)數(shù),并排序后輸出。*/

#include<stdio.h>

#include<string.h>

int *paixu(int data[],int n)

{   int i,*p1,*p2,temp;

    p1=data;

    for(p1=data;p1<data+n-1;p1++)

       for(p2=p1+1;p2<data+n;p2++)

          if(*p1<*p2)

          {  temp=*p1;*p1=*p2;*p2=temp;}

     p1=data;

   return p1;

}

void main()

{    int n,a[100],i,*p=a;

     printf("Please input n:  ");

     scanf("%d",&n);

     printf("\n\nPlease enter %d ge shu:  ",n);

     for(i=0;i<n;i++)

     {  scanf("%d",p);  p++;  }

     p=paixu(a,n);

     for(i=0;i<n;i++,p++)

        printf("%d ",*p);

     getch();

}

10

#include"stdio.h"

#define  max 1042

main()

{

 

float j,a[max];int t,i=0;

char b[max],*p=b;   clrscr();

printf("Enter a string:");

gets(b);

while(*p!='\0')

 {

   a[i]=0;

   while(((*p)<='9'&&(*p)>='0')&&((*p)!='\0'))

     {

t=(int)(*p-48);

a[i]=a[i]*10+t;

p++;

if((*p)>'9'||(*p)<'0')

i++;

     }

   p++;

 }

for(j=0;j<i;j++)

  printf("\t%.0f",a[j]);

       printf("\nALL %d",i);

}


查看更多