c语言指针编程练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言指针编程练习题
2. 从命令行输入两个实型数据,请比较大小并输出。参考答案
3. 输入3个数a,b,c,按大小顺序输出。利用指针方法参考答案
4. 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。参考答案
5. 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数参考答案
6. 有n个人围成一圈,顺序排号。从第一个人开始报数,凡报到3的人
退出圈子,问最后留下的是原来第几号的那位。参考答案
7. 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。参考答案
8. 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调
用函数1/1+1/3+…+1/n 参考答案
9. 八进制转换为十进制参考答案
10. 编一个函数fun,函数的功能是分别求出数组中所有奇数之
和以及所有偶数之和。形参n给了数组中数据的个数:
利用指针odd返回奇数之和,利用指针even返回偶数之和。例如:数组中的值依次为:1,8,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8。参考答案
11. 复制字符串。参考答案
一、用指针方法编写一个程序,输入3个整数,将它们按由小到大的顺序输出 #include
void swap
{
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
void main
{
int a,b,c,temp;
scanf;
if
swap;
if
swap;
if
swap;
printf;
}
二、C语言用指针方法输入3个字符串按由小到大顺序输出
#include “stdio.h”
#include “string.h”
int main
{
char *t;
char *p1=NULL,*p2=NULL,*p3=NULL;
char ch1[20]={0},ch2[20]={0},ch3[20]={0};
p1=ch1;
p2=ch2;
p3=ch3;
printf;
scanf;
fflush;
printf;
scanf;
fflush;
printf;
scanf;
}
fflush; if>0) {t=p1;p1=p2;p2=t;} if>0) {t=p1;p1=p3;p3=t;} if>0) {t=p2;p2=p3;p3=t;} printf; return 0;
9.4编程输入一行文字,找出其中的大写字母,小写字母,空格,数字,及其他字符的个数
#include
void main
{
int a=0,b=0,c=0,d=0,e=0,i=0;
char *p,s[20];
while)!=‘\n’)i++;
p=s;
while
{
if
a++;
else if
b++;
else if
c++;
else if
d++;
else e++;
p++;
}
printf;
printf;
}
9.5写一个函数,将3矩阵转置 #include “stdio.h”
void Transpose[3])
{
int temp;
int i, j;
for/*转置*/
{
for
{
temp = *+i);
*+i) = *+j);
*+j) = temp;
}
}
}
void main
{
int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; Transpose;
for
{
for
{
printf;
}
printf;
}
}
}.6用指向一维数组的指针做函数参数
#include
#include
int main
{
void sort[6]);//一维数组的指针做函数参数
int i;
char str[10][6]; char [6];//定义一维数组的指针做函数参数
printf;
for
scanf;
p=str;//将str一维数组指针,赋值给p;
sort;
printf;
for
printf;
return 0;
}
void sort[6])//s指向一维数组的指针做函数参数; {
int i,j;
char temp[6], *t;
t=temp;
for//i应该小于9;如果小于10,那么就比较了9+1次;按照冒泡法则,for//第一次比较需要9次就是i=0到i=8共九次;第二次需要比较8次;依次类推;
if>0)