c语言用指针变量输入数组的长度,C语言之数组的基础练习题(指针变量做函数参数)...
1、交換兩個變量的值:
#include void swap(int *a,int *b)
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
}
void main()
{
int x,y;
int *p_x,*p_y;
printf("請輸入兩個數:\n");
scanf("%d",&x);
scanf("%d",&y);
p_x=&x;
p_y=&y;
swap(p_x,p_y);
printf("x=%d\n",x);
printf("y=%d\n",y);
}
2、將輸入的數值從小到大進行排列輸出:
#includevoid swap(int *p1, int *p2) /*自定義交換函數*/
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
void exchange(int *pt1, int *pt2, int *pt3) /*三個數由大到小排序*/
{
if (*pt1 < *pt2)
swap(pt1, pt2); /*調用swap函數*/
if (*pt1 < *pt3)
swap(pt1, pt3);
if (*pt2 < *pt3)
swap(pt2, pt3);
}
void main()
{
int a, b, c, *q1, *q2, *q3;
puts("Please input three key numbers you want to rank:");
scanf("%d,%d,%d", &a, &b, &c);
q1 = &a; /*將變量a地址賦給指針變量q1*/
q2 = &b;
q3 = &c;
exchange(q1, q2, q3); /*調用exchange函數*/
printf("\n%d,%d,%d\n", a, b, c);
}
3、將某銀行一周的錢收納匯總
#include/*包含頭文件*/
void SUM(int *p,int n) /*自定義函數*/
{
int i,sum=0; /*定義變量*/
for(i=0;i
4、使用指針實現冒泡排序
#includevoid order(int *p,int n)
{
int i,t,j;
for(i=0;i*(p+j+1)) /*判斷相鄰兩個元素的大小*/
{
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t; /*借助中間變量t進行值互換*/
}
printf("排序后的數組:");
for(i=0;i
5、按字母順訊排序
#include #include sort(char *strings[], int n)/*自定義排序函數*/
{
char *temp;
int i, j;
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
if (strcmp(strings[i], strings[j]) > 0) /*比較兩個字符串的大小*/
{
temp = strings[i];
strings[i] = strings[j];
strings[j] = temp; /*如果前面字符串比后面的大,則互換*/
}
}
}
}
void main()
{
int n = 12;
int i;
char **p; /*定義字符型指向指針的指針*/
char *month[] =
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
p = month;
sort(p, n); /*調用排序函數*/
printf("排序后的12月份如下:\n");
for (i = 0; i < n; i++)
printf("%s\n", month[i]); /*輸出排序后的字符串*/
}
找出二維數組中每行最大的數值進行求和
#include#define N 4
void max(int (*a)[N],int m)/*自定義min函數,求二維數組中每行最小元素*/
{
int value,i,j,sum=0;
for(i=0;ivalue) /*判斷其他元素是否小于value的值*/
value=*(*(a+i)+j);/*把比value大的數重新賦給value*/
printf("第%d行:最大數是:%d\n",i,value);
sum=sum+value;
}
printf("\n");
printf("每行中最大數相加之和是:%d\n",sum);
}
void main()
{
int a[3][N],i,j;
int (*p)[N];
p=&a[0];
printf("please input:\n");
for(i=0;i<3;i++)
for(j=0;j
7、求新入學班級新生的總人數
#includevoid SUM(int *p,int n)
{
int i,sum=0;
for(i=0;i
8、判斷兩個數值的大小
#include void swap(int *x1,int *x2)
{
int t;
t=*x1;
*x1=*x2;
*x2=t;
}
void order(int *a,int *b)
{
if(*a>*b)
swap(a,b);
}
int main()
{
int x,y;
printf("輸入值:\n");
scanf("%d,%d",&x,&y);
printf("x=%d,y=%d\n",x,y);
order(&x,&y);
printf("x=%d,y=%d\n",x,y);
return 0;
}
總結
以上是生活随笔為你收集整理的c语言用指针变量输入数组的长度,C语言之数组的基础练习题(指针变量做函数参数)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 切片分析报告格式_社科论文写作101-A
- 下一篇: idhttp返回乱码_HTTP客户端PO