当前位置:首页 > c语言编程基础习题答案
⑷ 利用指针做函数参数,在执行子函数时,用两个指针变量指向a数组的首地址和尾地址,通过循环控制指针,交换不同位置的数组元素达到反序排列。运行结果如下:
GFEDCBA
4、编程题。
⑴ 输入三个数后,按由小到大的顺序输出。编程如下:
main() {
int a,b,c,*p1,*p2,*p3; printf(\输入3个数:\\n\
scanf(\if (a>=b) p1=&b,p3=&a; else p1=&a,p3=&b;
if (c>=*p3) p2=p3,p3=&c;
else if (c<=*p1) p2=p1,p1=&c; else p2=&c;
printf(\}
⑵ 按题目要求,编写排序函数及程序如下:
int *sort(int a[],int n)
{
int i,j,t;
for (i=0;i for (j=i+1;j if (a[i]>a[j]) t=a[i],a[i]=a[j],a[j]=t; } } return a; } main() { int *b,i,a[10]; printf(\输入10个数:\ for (i=0;i<10;i++) scanf(\ b=sort(a,10); for (i=0;i<10;i++) printf(\printf(\ } ⑶ 按题目要求,编写统计输入字符串中大小写字母个数的函数及程序如下: #include <> count(char *p) { int u=0,l=0; while (*p) { if (islower(*p)) l++; if (isupper(*p)) u++; p++; } printf(\大写字母个数:%d;小写字母个数:%d\} main() { char *a; printf(\输入字符串:\\n\scanf(\count(a); } ⑷ 按题目要求,编写连接字符串的函数及程序如下: main() { char *strcat(),*str1,*str2,*p; printf(\输入字符串1:\\n\ scanf(\ printf(\输入字符串2:\\n\scanf(\p=strcat(str1,str2); printf(\ } char *strcat(char *s1,char *s2) { char *p; p=s1; while (*p) p++; while (*s2) *p=*s2,p++,s2++; return s1; } ⑸ 按题目要求,编写查找字符所在位置的函数及程序如下: char *index(char *str,char ch) { char *p; int c=0; p=str; while (*p) { if (*p==ch) return p; p++; } p=&c; return p; } main() { char *a,*b,ch; long n; printf(\输入字符串:\\n\scanf(\ printf(\输入一个字符:\\n\ch=getch(); b=index(a,ch); if (*b==0) printf(\找不到字符%c!\\n\else { n=b-a+1; printf(\字符 %c 在字符串%s的第 :%ld个位置\\n\}
共分享92篇相关文档