上机实验题目解题思路
目录
第十三次实验:指针之一2
2453:步骤:2
2454:步骤:2
3575:步骤:方法同24543
3576:步骤:3
3580:步骤:3
3582:步骤:3
第十二次实验:函数之二4
2452:步骤:4
2482:步骤:5
3574:步骤:5
3571:步骤:5
第十一次实验:函数之一6
3565:步骤:6
3566:步骤:6
3567:步骤:7
3568:步骤:7
3569:步骤:7
3570:步骤:7
3571:步骤:7
3573:步骤:8
第十次实验:数组8
3552:步骤:8
3553:步骤:8
3555:步骤:8
3556:步骤:8
3561:步骤:9
3893:步骤:9
3895:步骤:9
3900:步骤:9
3905:步骤:9
第十三次实验:指针之一
2453:步骤:
定义两数交换的函数void swap(int *p1, int *p2),交换两指针所指向的值。.
main函数:多组输入a、b,调用交换函数交换两变量值。
代码框架:
void swap (int *p1, int *p2) {
……} int main() { int a, b;
Int *pointer_1, *pointer_2;while (scanf("%d%d", &a, &b) != EOF)//输入值 { Pointer_1 = ….;
Pointer_2 = …..;
If (a < b)
Swap(…..);
printf(“%d %d\n”, a, b);} return 0;
}
2454:步骤:
定义同2453相同的函数void swap(int *p1, int *p2),交换两指针所指向的值。
定义main函数,多组输入三个数,从大到小输出。
int main() { int a, b,c;
while (scanf("%d%d", &a, &b) != EOF)//输入值 { If (a < b)
Swap(&a, &b);
If (a < c)
Swap(&a, &c);
If (b < c)
Swap(&b, &c);
printf(“%d %d%d\n”, a, b, c);} return 0; }
3575:步骤:方法同2454
3576:步骤:
定义类同2453函数void swap(float *p1, float *p2),交换两指针所指向的值。
定义main函数,多组输入五个数,从小到大输出。
int main() { int a[5], i, temp;
while (scanf("%f", &a[0]) != EOF)//输入值 { “%f”, &a[i]);
选择排序完成5个数的排序,其中交换通过
Swap(&a[], &a[])完成;
循环输出a的所有元素;} return 0;
}
3580:步骤:
自定义函数input(int a[], int n),output(int a[], int n)Void input(int a[], int n)//函数无返回值,等效于void(int *a, int n)
{ int i;
For (i=0; i
Scanf(“%d”, &a[i]);
}
在main函数中,调用它,对数组n个元素的输入输出。Int main()
{int array[100], n;
While (scanf(“%d”, &n) != EOF)
{
Input(array, n);
Output(array, n);
}
Return 0;
}
3582:步骤:
定义一个计算两个数和、差的函数sumDiff(int op1, int op2, int *pSum, int *pDiff),功能是求两个数op1、op2的和、差,其中*psum和*pdiff是计算得出的和与差。Void sumDiff(int op1, int op2, int *pSum, int *pDiff)
{//op1、op2是要计算的两数
*pSum = op1 + op2;// pSum是main()函数中变量的地址,故修改的是main()函数中变量的值
……
}
在main函数中,调用它,计算输入的任意两个数的和与差。Int main()
{int a, b, s, d;
While (scanf(“%d%d”, &a, &b) != EOF)
{
sumDiff(a, b, &s, &d);
printf(“sum=