C语言程序设计教程 杨路明 答案第8章

1: (1) A
(2) B
(3) D

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

3: (1) *p!='\0'0&&*q!='\0' *p>=*q; q++
(2) i<11 &a[i] {i--;if(i==0)break;} i!=0
4、
/*题目:输入一个字符串,再删除指定的字符*/
/*如果字符串中没有指定字符,则输出原字符串。*/
#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、
/*从键盘输入单词,每个单词之间用空格隔开,“.”号结束输入,*/
/*将每个单词的第一个字母转化成大写字母。*/
#include<stdio.h>
#include<string.h>
char zhuanhua(char c) /*定义将小写字母转化为大写字母的函数*/
{ char C;
if(c>='a'&&c<='z') /*是小写字母就转化,不是则原样返回*/
C=c-32;
else C=c;
return C;
} /*此函数防止有标点符号或者第一个字母本身是大写字母*/
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]!=' ')/* 第一个字母前面可能有很多空格*/
a[j]=zhuanhua(a[j]); /*调用转化函数,使其变为大写字母*/
}
p=a;
while(*p)
{printf("%c",*p);p++;}
getch();
}
6、
/*输入8个数,排序后输出。*/
#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、
/*题目:输入一个字符串,将此字符串的m个字符开始的第n个字符复制到另一个字符串。*/
#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) )/*复制的位置要符合要求*/
{ p+=m-1; /*指针指向第一个要复制的字符*/
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!!!!"); /*复制的位置不符合要求,打印错误*/
getch();
}
8、
/*输

你可能喜欢

  • 程序设计c语言答案
  • 语言程序设计教案
  • C语言程序设计教程
  • C语言程序设计第一章
  • C语言程序设计说明

C语言程序设计教程 杨路明 答案第8章相关文档

最新文档

返回顶部