不用指针#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
//用随机函数产生10个0~100之内的整数,按从大到小排列输出
int num[10], i, j, temp;
srand((unsigned)time(NULL));
for(i = 0; i < 10; i++)
{
num[i] = rand() % 100;
}
for(i = 0; i < 10 - 1; i++)
for(j = 0; j - i - 1; j++)
{
if(num[i] > num[i + 1])
{
temp = num[i];
num[i] = num[i + 1];
num[i + 1] = temp;
}
}
//定义一个a[5][6]的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号列号
int a[5][6];
int max = 0;
int row, column;
for(i = 0; i < 5; i++)
for(j = 0; j < 6; j++)
{
a[i][j] = rand() % 100;
if(max < a[i][j])
{
max = a[i][j];
row = i;
column = j;
}
}
//定义一个3*3的整数数组,并输出对角元素之和
int b[3][3];
int sum = 0;
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
{
b[i][j] = rand() % 100;
}
sum = b[0][0] + b[1][1] + b[2][2] + b[0][2] + b[1][1] + b[2][0];
//
printf("随机函数产生10个0~100之内的整数,按从大到小排列输出\n");
for(i = 0; i < 10; i++)
{
printf("%d ", num[i]);
}
printf("\n");
printf("\n");
printf("定义一个a[5][6]的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号列号\n");
printf("最大值 = %d\n", max);
printf("行号 = %d \n列号 = %d", row+1, column+1);
printf("\n");
printf("\n");
printf("定义一个3*3的整数数组,并输出对角元素之和\n");
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
printf("%d ", b[i][j]);
}
printf("\n");
}
printf("对角元素之和 = %d", sum);
return 0;
}
指针#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void Change(int *a, int *b);
void Change(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
int main(void)
{
srand((unsigned)time(NULL));
//交换两个实参的值
printf("交换两个实参的值\n");
int num_1 = rand() % 100, num_2 = rand() % 100;
printf("num_1 = %d, num_2 = %d\n", num_1, num_2);
Change(&num_1, &num_2);
printf("num_1 = %d, num_2 = %d\n", num_1, num_2);
return 0;
}
初学,有问题请指出 |