1.求10个整数中最大值
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(){
int a;
int i;
int Max=0x80000000;
printf("请输入10个数字: \n");
for (i = 0; i < 10; i++){
scanf("%d", &a);
if (a>Max){
Max = a;
}
}
printf("Max=%d\n", Max);
system("pause");
return 0;
}
运行结果:
int 型的存储大小,最大值,最小值
即在int类型中:
正整数的最大值为 0x7fffffff 也就是十进制的 2147483647 0x 0111 1111 1111 1111 1111 1111 1111 1111
正整数的最小值为 0x00000001 也就是十进制的 1 0x0000 0000 0000 0000 0000 0000 0000 0001
0表示为:0x00000000
负整数的最大值为 0xffffffff 也就是十进制的 - 1
负整数的最小值为 0x80000000 也就是十进制的 - 2147483684
负数在计算器中以补码的形式存储
2.求10个整数中的次大值
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(){
int temp;
int i;
int max = 0x80000000;
int nxt = 0x80000000;
printf("请输入10个数字: \n");
for (i = 0; i < 10; i++){
scanf("%d", &temp);
if (temp>max){
nxt = max;
max = temp;
}
else if (temp>nxt){
nxt = temp;
}
}
printf("nxt=%d\n", nxt);
system("pause");
return 0;
}
运行结果:
求10个整数中的最大值
首先要能搞清楚进行比较的一个流程方式在利用if语句进行选择依次比较,
就能得到最大的那个值,并将最大的数值打印出来就可以了
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int max ;
//代表了10个数值
int arr[10];
//可以无该提示,只是对一个提醒
printf("请输入要比较的10个数字:");
while (i <= 9){
//for (i = 0; i <= 9;i++)该语句等于与while 进行了替换二者是等价的
//依次输入10个数的循环
scanf("%d", &arr[i]);
i++;
}
max = arr[0];
//对输入的10个数字进行选择比较
for (i = 1; i <10; i++){
//对输入的数值进行选择比较
if (arr[i] > max){
//将大的数字依次赋值给Max
max = arr[i];
}
}
printf("%d\n", max);
system("pause");
return 0;
}
运行结果:
理解:
首先要能搞清楚进行比较的一个流程方式在利用if语句进行选择依次比较,
就能得到最大的那个值,并将最大的数值打印出来就可以了将输入的10个数字依次进行比较得到最大的那个数值!