C语言指针精选习题和答案(精心整理) 下载本文

内容发布更新时间 : 2024/6/9 12:15:55星期一 下面是文章的全部内容请认真阅读。

一、用指针方法编写一个程序,输入3个整数,将它们按由小到大的顺序输出 #include

void swap(int *pa,int *pb) {

int temp; temp = *pa; *pa = *pb; *pb = temp; }

void main() {

int a,b,c,temp;

scanf(\if(a>b)

swap(&a,&b); if(b>c)

swap(&b,&c); if(a>c)

swap(&a,&c);

printf(\}

二、C语言 用指针方法 输入3个字符串 按由小到大顺序输出 #include \#include \

int main(int argc, char* argv[]) { 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(stdin); printf(\ scanf(\ fflush(stdin); printf(\ scanf(\

1

}

fflush(stdin); if(strcmp(p1,p2)>0) {t=p1;p1=p2;p2=t;} if(strcmp(p1,p3)>0) {t=p1;p1=p3;p3=t;}

if(strcmp(p2,p3)>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((s[i]=getchar())!='\\n')i++; p=s;

while(*p!=10) {

if(*p>='A'&&*p<='Z') a++;

else if(*p>='a'&&*p<='z') b++;

else if(*p==' ') c++;

else if(*p>='0'&&*p<='9') d++;

else e++; p++; }

printf(\大写字母 %d 小写字母 %d\\n\printf(\空格 %d 数字 %d 非字符 %d\\n\ }

2

9.5写一个函数,将3 3矩阵转置

#include \

void Transpose(int (*matrix)[3]) {

int temp; int i, j;

for(i=1;i<3;i++)/*转置*/ {

for(j=0;j

temp = *(*(matrix+j)+i);

*(*(matrix+j)+i) = *(*(matrix+i)+j); *(*(matrix+i)+j) = temp; } } }

void main() {

int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; Transpose(a);

for(int i = 0;i<3;i++) {

for(int j=0;j<3;j++) {

printf(\ }

printf(\ } } }

9.6用指向一维数组的指针做函数参数

#include #include int main() {

3