用C编写一个程序从用户输入的四个整数中找出最大和最小值

用C编写一个程序从用户输入的四个整数中找出最大和最小值,第1张

还好,只有四个整数,若更多的话那可就麻烦了,这个最好用数组来处理。
楼上的固然正确,不过第八行不要这样子写:max=min=a;最好分开来写成:max=a;min=a; 要养成良好的编程习惯。
对于这个题而言,我会这样写(不用数组):
#include<stdioh>
main()
{
int a,b,c,d,max,min;
printf("input 4 numbers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=a>(b>(c>dc:d)b:(c>dc:d))a:(b>(c>dc:d)b:(c>dc:d));
min=a<(b<(c<dc:d)b:(c<dc:d))a:(b<(c<dc:d)b:(c<dc:d));
printf("max=%d\nmin=%d",max,min);
}
楼主理解一下看看,其实max、min两句都是三目运算的条件表达式嵌套使用,相当于if语句,呵呵!

第一题
#include "stdioh"
int fn(int x);
int main()
{
int x, y;
scanf("%d", &x);
y=fn(x);
printf("%d\n", y);
return 0;
}
int fn(int x)
{
if(x<0) return -1;
else if(x==0) return 0;
else return 1;
}
第二题
#include "stdioh"
int main()
{
char ch;
scanf("%c", &ch);
/判断ch是否大写字母/
if( ch >= 'A' && ch <= 'Z')
{
ch += 32; /加上32转化为小写字母/
printf("%c\n", ch);
}
else
{
printf("%c\n", ch);
}
return 0;
}
第三题
#include "stdioh"
/ max函数,返回a,b,c当中最大者 /
int max(int a, int b, int c);
int main()
{
int m, a, b, c;
scanf("%d %d %d", &a, &b, &c);
m=max(a,b,c);
printf("%d\n", m);
return 0;
}
int max(int a, int b, int c)
{
int temp;
/先判断a,b,将a,b中较大的存进temp/
if(a>=b)
temp = a;
else
temp = b;
/再判断temp和c的大小/
if(c>temp)
temp = c;
return temp;
}
第四题
#include "stdioh"
int main()
{
int a=3, b=4, c=5;
int x, y;
/每个表达式都返回一个bool值,0或1,直接输出就行了/
printf("%d\n", a+b>c&&b==c);
printf("%d\n", a||b+c&&b-c);
printf("%d\n", !(a>b)&&!c||1);
printf("%d\n", !(x=a)&&(y=b)&&0);
printf("%d\n", !(a+b)+c-1&&b+c/2 );
return 0;
}
有什么不懂的尽管问我,我会尽力帮助你的^_^

#include<stdioh>
int main(void)
{
int a,b,c;//定义三个整形变量
char x='y';//定义控制符
while(x=='y')
{
scanf("%d%d%d",&a,&b,&c);
printf("%d\n",(((a>b)a:b)>c)((a>b)a:b):c);
//比较大(x>y)x:y表示如果x>y这个表达式的值取x,否则为y
getchar();//接受scanf导致的回车符
printf("again (y/n)\n");
scanf("%c",&x);//输入y继续,输入其它结束
}
return 0;
}

希望能帮到你。不懂可以继续问我^_^

可能是程序太长了,我减短了点
你不知道我的格式在VC里面多么的完美
这可恶的百度
#include <stdioh>
#include <stdlibh>
#include <timeh>
#include <memoryh>
#define MAX 50
int size = 0;
void randInit(int a);
void maxMinAve(int a, int max, int min, double average, int sum);
void main()
{
int array[MAX];
int iOperFlg = 0; / Contrl the while loop /
int iReadRslt = 0;/ Result of read from key buffer /
int cQuitConf = 0;/ Confirm to exit or not /
int max = 0, min = 0, sum = 0;
double average = 0;
/ Welcome information /
printf( "\n\n" );
printf( "这是一个求最大值最小值和平均值的程序\n" );
printf( "\n" );
/ Initialization /
memset( array, 0, MAX sizeof(int) );

while(iOperFlg != -1)
{
iOperFlg = 1;
while(iOperFlg == 1)
{
printf( "\n请输入生成随机数字的个数<1-50>:" );
/ Read user's selection /
iReadRslt = scanf( "%d", &size );
/The input is not a number /
while ( 0 >= iReadRslt )
{
printf("\n请输入一个数字!\n");
iReadRslt = scanf( "%d", &iOperFlg );
}

/ Key buffer clear /
while( 10 != getchar() )
{
continue;
}

if (size > 0 && size <= MAX)
{
randInit(array);
iOperFlg = 0;
}
else
{
printf("\n错误,请输入1-50间的数\n");
iOperFlg = 1;
}
}

/ Get the max min and average /
maxMinAve(array,&max,&min,&average,&sum);

/ Display the max min and average /
printf("----------------------------\n");
printf("Min Value: %d\n",min);
printf("Max Value: %d\n",max);
printf("Sum: %d\n",sum);
printf("Average: %2lf\n",average);
printf("----------------------------\n");

/ Confirm to quit or not /
while (1)
{
printf( "\n要重新执行吗(Y(y)/N(n))" );
scanf( "%c", &cQuitConf );
if( ( 'Y' == cQuitConf ) || ( 'y' == cQuitConf ) )
{
iOperFlg = 0;
break;
}
else if( ( 'N' == cQuitConf ) || ( 'n' == cQuitConf ) )
{
iOperFlg = -1;
break;
}
else
{
printf("\n错误,请输入Y(y)/N(n)!\n");
}
/ Key buffer clear /
while( 10 != getchar() )
{
continue;
}
}
}
}

void randInit(int a)
{
int i = 0;
time_t t;
/ Initialize the seed of random function /
srand((unsigned)time(&t));

/ Display and initialize the array /
printf("\n--------------------------\n");
for (; i < size; i++)
{
a[i] = rand();
printf("Random Number %d: %d\n",i,a[i]);
}
}
void maxMinAve(int a, int max, int min, double average, int sum)
{
int i = 0;
min = a[0];
max = a[0];
sum = 0;
for (; i < size; i++)
{
if (min > a[i])
{
min = a[i];
}
if (max < a[i])
{
max = a[i];
}
sum += a[i];
}
average = (double)sum / (double)size;
}

1、首先,配置GPIO管脚为输入按键和输出PWM波形模式,使用STM32的GPIO外设库进行配置。
2、最后配置定时器进行PWM波形的生成,使用STM32的定时器外设库进行配置即可。

#include "stdioh"  
//从键盘输入10个数存入一维数组,求这10个数中的最大值和最小值并输出  
int main()  
{  
    int i;  
 float max,min,num[10];  
    printf("请输入10个数,每输入一个数按回车键结束:\n");  
    for(i=0;i<10;i++)  
    {  
     scanf("%f",&num[i]);  
    }  
    max=min=num[0];  
    for(i=1;i<10;i++)  
    {     
     if(max<num[i])  
     max=num[i];  
     else if(min>num[i])  
     min=num[i];  
       
    }  
     
    printf("最大为:%f\n最小为:%f\n",max,min);  
    return 0;  
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13206243.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-20
下一篇 2023-06-20

发表评论

登录后才能评论

评论列表(0条)

保存