main(){inta,b,c;printf("请输入3个整数:");scanf("%d,%d,%d",&a,&b,&c);if(a7、加简明、清晰。程序如下:#includemain(){inta,b,c,temp,max;printf("请输入3个整数:");scanf("%d,%d,%d",&a,&b,&c);temp=(a>b)?a:b;/*将a和b中的大者存人temp中*/max=(temp>c)?temp:c;/*将a和b中的大者与c比较,取最大者*/printf("3个整数的最大数是%d”,max);}4.6有一函数:写一程序,输入x值,输出y值。解:#includemain(){intx,y;printf("输入x:");s
8、canf("%d",&x);if(x<1)/*x<1*/{y=x;printf("x=%3d,y=x=%d",x,y);}elseif(x<10)/*1≤x-10*/{y=2*x-1;printf("x=%3d,y=2*x-1=%d",x,y);}else/*x≥10*/{y=3*x-11;printf("x=%3d,y=3*x-11=%d",x,y);}}4.8给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D’。解:程序如下:#in
9、cludemain(){floatscore;chargrade;printf("请输入学生成绩:");scanf("%f",&score);while(score>100
10、
11、(score<0){printf("输入有误,请重新输入:");scanf("%f",&score);}switch((int)(score/10)){case10:case9:grade=’A’;break;case8:grade=’B’;break;case7:grade=’C’;break;case6:grade=’D’;break;case5:
12、case4:case3:case2:case1:case0:grade=’E’;}printf("成绩是%5.1f,相应的等级是%c。",score,grade);}说明:对输入的数据进行检查,如小于0或大于100,要求重新输入。(int)(score/10)的作用是将(score/10)的值进行强制类型转换,得到一个整型值。4.9给定一个不多于5位的正整数,要求:①求它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。例如原数为321,应输出123。解:#includemain(){longintnum;intin
13、div,ten,hundred,thousand,ten_thousand,place;/*分别代表个位、十位、百位、千位、万位和位数*/printf("请输入一个整数(0~99999):");scanf("%ld",&num);if(num>9999)place=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=1;printf("place=%d",place);ten_thousand=num/10000;thousand=num/
14、1000%10;hundred=num/100%10;ten=num%100/10;indiv=num%10;switch(place)