C语言指针习题和答案 下载本文

一、用指针方法编写一个程序,输入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(\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\

}

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

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

#include #include