C语言数组求鞍点:
#include <stdio.h>
#include <time.h>
void main() {
int i, j, m = 0, n = 0, a[5][5];
srand(time(0));
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
a[i][j] = rand() % 51;//随机数0-50
}
}//产生随机数,存至数组
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
printf("%-3d ", a[i][j]);//输出时对齐
}
printf("\n");
}
for (i = 0; i < 5; i++) {
m = 0;
for (j = 0; j < 5; j++) {
if (a[i][m] < a[i][j]) {
m = j;
}
}
for (j = 0; j < 5; j++) {
if (a[n][m] < a[j][m]) {
n = j;
}
}
if (a[i][m] == a[n][m]) {
printf("第%d行%d列鞍点是%3d\n", i + 1, m + 1, a[i][m]);
}
}
printf("其余行列没有鞍点\n");
getchar();
}
执行结果:
C语言字符串连接:
1.
#include <stdio.h>
#include <string.h>
void main() {
char strs1[] = { "Hello," }, strs2[] = {'W','o','r','l','d','!'};
puts(strcpy(strs1+strlen(strs2),strs2));
}
2.
#include <stdio.h>
#include <string.h>
void main() {
char strs1[] = { "Hello," }, strs2[] = {'W','o','r','l','d','!'};
puts(strcat(strs1,strs2));
}
输入数组、数组排序、查找数组、函数调用
#include <stdio.h>
#include <string.h>
void rank();
void serch(int num);
int array();
int num, nums[10];
void main() {
array();
rank();
printf("\n请输入一个要查询的数\n");
scanf_s("%d", &num);
serch(num);
getchar(); getchar(); getchar();
}
void rank() {
int i, j, tmp;
for (i = 1; i<10; i++) {
for (j = 0; j<10 - i; j++) {
if (nums[j]>nums[j + 1]) {
tmp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = tmp;
}
}
}
for (int i = 0; i<10; i++) {
printf("%d ", nums[i]);
}
}
void serch(int num) {
int low = 0, mid, high = 9,loc=0;
while (low <= high) {
mid = (low + high) / 2;
if (num<nums[mid]) {
high = mid - 1;
}
else if (num>nums[mid]) {
low = mid + 1;
}
else
{
loc = mid;
break;
}
}
if (loc == 0) {
printf("\n查无此数");
}
else {
printf("\n数%d在数列位置是第%d个", num, loc+1);
}
}
int array(){
//int nums[n] = { 9,5,6,4,3,8,7,1,2,0 } ;
int i = 0;
printf("请输入十个整数,回车分隔\n");
while( i<10){
scanf_s("%d", &nums[i]);
i++;
}
return nums[10];
}