有三个数abc 要求按大小顺序把它们输出_C语言顺序结构 必会程序

本文介绍了多个C语言编程练习,包括加密、计算平均分、温度转换、几何图形面积计算、三角形判断及面积计算、字符操作、奇偶性判断、变量交换、随机数生成等。通过这些练习,读者可以掌握基本的条件表达式和分支结构程序设计技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1f98238494c2b698c1a5e809d18bded3.gif

目录
  • 加密

  • 从键盘输入一名学生的五门课成绩,求总分和平均分

  • 编写程序,将温度的单位从华氏度转换为摄氏度

  • 计算房间面积

  • 已知梯形的上底是5,下底是12,高是上、下底的平均数,求这个梯形的面积

  • 输入三角形的三边长,用海伦公式求三角形面积

  • 从键盘输入一大写字母,转换成小写字母,输出原来的大写字母和转换后小写字母

  • 从键盘输入一个字符,编程进行大小写互换后打印输出

  • 输入三角形三边长,判断能否构成三角形,若能构成则使用海伦公式输出三角形面积,不能则输出"不能构成三角形"

  • 输入两个整数,输出其中的大数。(用条件运算符)

  • 从键盘输入3个字符,找出最大的那个并输出

  • 输入一个三位正整数,将该数逆序后输出,例如输入123则输出321

  • 编写一个程序,判断一个整数的奇偶性。(不用if)

  • 从键盘输入一个正整数,判断是奇数还是偶数。(输出“是奇数”或“是偶数”)

  • 交换两个变量的值之后输出

  • 利息计算

  • 随机产生[3,10]之间的正整数作为圆半径,求圆面积、圆周长

  • 随机产生三个[10,20]间的随机数,找出其中最大数

  • 随机产生三个三位正整数,求偶数和(不用if)

  • 随机产生三个三位正整数,求第一个数的个位乘上第二个数的十位乘上第三个数的百位得到一个新数,最后求这四个数的平均值。

  • 随机产生2个[-20,20]间的正整数,从小到大排列输出

  • 随机产生三个大写字母,找出其中最小的转换成小写字母

  • 输入三个互不相同的整数,如果三个数按从小到大顺序输入,则输出1;否则输出0

  • 求一元二次方程根,设a不为0且b^2-4ac>0

说明:本文收录了一些使用条件表达式的程序,其本质上属于分支结构程序。

6b533616038c56d76e85425c88382bc0.gif

897956eddc5360232f6816e721f84530.png

加密

将“China”译成密码。密码规律:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5分别为“C”、“h”、“i”、“n”、“a”。经过计算,使c1、c2、c3、c4、c5分别变为“G”、“l”、“m”、“r”、“e”,并输出。程序:#include int main(){char c1='C',c2='h',c3='i',c4='n',c5='a';c1+=4;//相当于c1=c1+4c2+=4;c3+=4;c4+=4;c5+=4;printf("Password is %c%c%c%c%c\n",c1,c2,c3,c4,c5);return 0;}

从键盘输入一名学生的五门课成绩,求总分和平均分

#include int main(){float x1,x2,x3,x4,x5,sum,ave;printf("请输入学生五门课成绩:");scanf("%f%f%f%f%f",&x1,&x2,&x3,&x4,&x5);sum=x1+x2+x3+x4+x5;ave=sum/5;//ave和sum都是实型printf("sm=%.2f\nave=%.2f\n",sum,ave);return 0;}

编写程序,将温度的单位从华氏度转换为摄氏度

转换公式为:摄氏度=(5/9)*(华氏度-32)程序:#include int main(){float c,f;printf("请输入华氏温度:\n");scanf("%f",&f);c=(5.0/9)*(f-32);/*注意:不能写成5/9,否则为0。除运算符,有一个操作数是实型,则结果为实型*/printf("摄氏温度为:%f\n",c);return 0;} 

计算房间面积

编写一个程序,提示用户输入一个房间的长和宽,然后计算并输出房间面积,单位是平方米,精度是小数点后两位。程序:#include int main(){float a,b,s;printf("请输入房间的长度和宽度(米),中间用逗号隔开:\n");scanf("%f,%f",&a,&b);s=a*b;printf("房间面积是%.2f\n",s);return 0;}

已知梯形的上底是5,下底是12,高是上、下底的平均数,求这个梯形的面积

#include int main(){float a,b,h,s;a=5,b=12;h=(a+b)/2;s=(a+b)*h/2;printf("s=%.2f\n",s);return 0;}

输入三角形的三边长,用海伦公式求三角形面积

海伦公式:已知三角形三边长,则三角形面积为 其中p=(a+b+c)/2.0程序:#include #include //要使用sqrt库函数来求平方根int main(){float a,b,c,p,area;//定义五个单精度变量,a、b、c用来存放三边长,p用于中间过程,area用来存放面积printf("请输入三角形三边a、b、c的长度:");scanf("%f,%f,%f",&a,&b,&c);p=(a+b+c)/2.0;area=sqrt(p*(p-a)*(p-b)*(p-c));//运用海伦公式printf("a=%7.2f\t b=%7.2f\t c=%7.2f\t p=%7.2f\n",a,b,c,p);printf("三角形面积=%7.2f\n",area);return 0;}

从键盘输入一大写字母,转换成小写字母,输出原来的大写字母和转换后小写字母

【程序一】#include int main(){char c1,c2;0printf("请输入一个大写字母:\n");scanf("%c",&c1);c2=c1+32;printf("大写字母%c的小写字母是%c\n",c1,c2);return 0;}【程序二】#include int main(){char ch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c\n",ch);return 0;}

从键盘输入一个字符,编程进行大小写互换后打印输出

#include int main(){char c;c=getchar();c=c>='A'&&c<='Z'?c+32:c>='a'&&c<='z'?c-32:c;putchar(c);return 0;}

输入三角形三边长,判断能否构成三角形,若能构成则使用海伦公式输出三角形面积,不能则输出"不能构成三角形"

#include #include int main(){float a,b,c,p,area;int x;printf("请输入三角形三边a、b、c的长度:");scanf("%f,%f,%f",&a,&b,&c);x=a+b>c&&a+c>b&&b+c>a;p=(a+b+c)/2.0;x?area=sqrt(p*(p-a)*(p-b)*(p-c)),printf("三角形面积=%7.2f\n",area):printf("不能构成三角形");return 0;}

输入两个整数,输出其中的大数。(用条件运算符)

#include int main(){int a,b,max;printf("Please input two int numbers(Separate with spaces):\n");/*请输入两个整数,用空格分开*/scanf("%d%d",&a,&b);max=a>b?a:b ;  printf("大的数是:%d\n",max);return 0;}

从键盘输入3个字符,找出最大的那个并输出

程序一:#include int main(){char c1,c2,c3,max;printf("请输入三个字符\n");scanf("%c%c%c",&c1,&c2,&c3);max=c1>c2?c1:c2;max=max>c3?max:c3;printf("最大字符是:%c \n",max);return 0;}程序二:#include int main(){char c1,c2,c3,max;printf("请输入三个字符\n");scanf("%c%c%c",&c1,&c2,&c3);max=c1;max=max>c2?max:c2;max=max>c3?max:c3;printf("最大字符是:%c \n",max);return 0;}程序三:#include int main(){char c1,c2,c3,max;printf("请输入三个字符\n");scanf("%c%c%c",&c1,&c2,&c3);max=c1>c2?c1:c2;printf("最大字符是:\n");max>c3?printf("%c\n",max):printf("%c\n",c3);return 0;} 

输入一个三位正整数,将该数逆序后输出,例如输入123则输出321

程序一:#include //int main(){int n;printf("请输入一个三位正整数:");scanf("%3d",&n);printf("逆序是:%d%d%d\n",n%10,n%100/10,n/100);//十位也可以是x/10%10return 0;}程序二:#include int main(){int x,i,j,k,y;scanf("%d",&x);i=x%10;k=x/100;j=x/10%10;y=i*100+j*10+k;printf("%d\n",y);return 0;}程序三:#include int main(){int a,b;printf("请输入一个三位正整数:");scanf("%3d",&a);b=a%10;printf("%d",b);a/=10;//或a=a/10b=a%10;printf("%d",b);a/=10;printf("%d",a);return 0;} 

编写一个程序,判断一个整数的奇偶性(不用if)

程序一://如果是奇数,输出1,是偶数,输出2(不用if)#includeint main(){ int n=0;  scanf("%d", &n);  printf("%d\n", n%2==0?2:1); //或者n%2?1:2  return 0;}程序二://偶数则输出0,奇数则输出1#includeint main(){ int n;  scanf("%d", &n);  printf("%d\n", n%2);  return 0;}

从键盘输入一个正整数,判断是奇数还是偶数。(输出“是奇数”或“是偶数”)

程序一:#include int main(){int x;printf("请输入一个正整数\n");scanf("%d",&x);x%2==0?printf("是偶数\n"):printf("是奇数\n");return 0;}程序二:#include int main(){int n;printf("请输入一个整数\n");scanf("%d",&n);n%2?printf("是奇数\n"):printf("是偶数\n");return 0;}程序三:#include int main(){int n;printf("请输入一个整数\n");scanf("%d",&n);n%2!=0?printf("是奇数\n"):printf("是偶数\n");return 0;}程序四:#include int main(){int n;printf("请输入一个整数\n");scanf("%d",&n);n%2==1?printf("是奇数\n"):printf("是偶数\n");return 0;}程序五:#includeint main(){  int n=0;  scanf("%d", &n);  !(n%2)?printf("是偶数\n"):printf("是奇数\n");return 0;}

交换两个变量的值之后输出

#include //交换两个变量值int main(){float a,b;float t;printf("请输入两个数:\n");scanf("%f,%f",&a,&b);printf("a=%4.1f\tb=%4.1f\n",a,b);t=a;a=b;b=t;//也可以是t=a,a=b,b=t;printf("a=%4.1f\tb=%4.1f\n",a,b);return 0;}另:不借助临时变量实现两个数的交换:#include int main(){float a,b;printf("请输入两个数:\n");scanf("%f,%f",&a,&b);printf("a=%4.1f\tb=%4.1f\n",a,b);a=b-a;b=b-a;a=b+a;printf("a=%4.1f\tb=%4.1f\n",a,b);return 0;}可以借助线段图分析。缺点:是只能用于数字类型,字符串之类的就不可以了。a+b有可能溢出(超出int的范围) 

利息计算

// 存款利息的计算。有1000元,想存5年,可按以下5种办法存:// 1、一次存5年期。// 2、先存2年期,到期后将本息再存3年期。// 3、先存3年期,到期后将本息再存2年期。// 4、存1年期,到期后将本息再存1年期,连续存5次。// 5、存活期存款。活期利息每一季度结算一次。// 1年定期利息:4.14%;// 2年定期利息:4.68%;// 3年定期利息:5.4%;// 5年定期利息:5.85%;// 活期存款利息:0.72%;(活期存款每一季度结算一次利息)// r--年利率  n--存款年数  // 1年本息和:p = 1000*(1+r);// n年期本息和:p = 1000*(1+n*r);// 存n次1年的本息和:p = 1000*(1+r)^n;// 活期存款本息和:p = 1000*(1+r/4)^4n--一个季度的本息和#include #include int main(){double p1,p2,p3,p4,p5;double p0 = 1000.0;double r1 = 0.0414;double r2 = 0.0468;double r3 = 0.054;double r4 = 0.0585;double huo = 0.0072;p1 = p0 * ( 1 + 5 * r4 );p2 = ( p0 * ( 1 + 2 * r2 ) ) * ( 1 + 3 * r3 );p3 = ( p0 * ( 1 + 3 * r3 ) ) * ( 1 + 2 * r2 );p4 = p0 * pow( ( 1 + r1 ) , 5 );p5 = p0 * pow( ( 1 + huo / 4 ),20 );printf("一次存5年期: \t\t\t%f\n",p1);printf("先存2年期,到期后将本息再存3年期:%f\n",p2);printf("先存3年期,到期后将本息再存2年期:%f\n",p3);printf("存1年期,到期后将本息再存1年期,连续存5次:%f\n",p4);printf("存活期存款。活期利息每一季度结算一次:%f\n",p5);return 0;}

2e4df62bb84e091ef98aac1b38a443a7.png

随机产生[3,10]之间的正整数作为圆半径,求圆面积、圆周长

#include

#include

#include

#define PI 3.14

int main()

{

int r;float s,c;

srand((unsigned)time(NULL));//设置随机种子

r=rand()%8+3;

/*  rand()%n可以产生0~n-1之间的随机整数。

如果要产生的随机数区间不是从0开始,例如[m,n],则先考虑产生[0,n-m],即rand()%(n-m+1),然后+m   */

printf("半径:%d\t",r);

c=2*PI*r;

s=PI*r*r;

printf("周长:%.2f,面积:%.2f\n",c,s);

return 0;

}

随机产生三个[10,20]间的随机数,找出其中最大数

#include

#include

#include

int main()

{srand((unsigned)time(NULL));

int i,j,k,max;

i=rand()%11+10;

j=rand()%11+10;

k=rand()%11+10;

printf("i=%d\tj=%d\tk=%d\n",i,j,k);

max=i>j?i:j;

max=max>k?max:k;

printf("max=%d\n",max);

return 0;

}

随机产生三个三位正整数,求偶数和(不用if)

#include

#include

#include

int main()

{srand((unsigned)time(NULL));

int i,j,k,sum;

sum=0;

i=rand()%900+100;

j=rand()%900+100;

k=rand()%900+100;

printf("i=%d\tj=%d\tk=%d\n",i,j,k);

sum+=i%2==0?i:0;

sum+=j%2==0?j:0;

sum+=k%2==0?k:0;

printf("sum=%d\n",sum);

return 0;

}

随机产生三个三位正整数,求第一个数的个位乘上第二个数的十位乘上第三个数的百位得到一个新数,最后求这四个数的平均值

#include

#include

#include

int main()

{srand((unsigned)time(NULL));

int i,j,k,p;

i=rand()%900+100;

j=rand()%900+100;

k=rand()%900+100;

p=(i%10)*(j%100/10)*(k/100);

printf("i=%d\tj=%d\tk=%d\tp=%d\n",i,j,k,p);

printf("%f\n",(i+j+k+p)/4.0);

return 0;

}

随机产生2个[-20,20]间的正整数,从小到大排列输出

#include

#include

#include

int main()

{

int x,y;

srand((unsigned)time(NULL));

x=rand()%41-20;

y=rand()%41-20;

printf("排序前:%d,%d\n",x,y);

x>y?printf("排序后:%d,%d\n",y,x):printf("排序后:%d,%d\n",x,y);

return 0;

}

随机产生三个大写字母,找出其中最小的转换成小写字母

#include

#include

#include

int main()

{srand((unsigned)time(NULL));

char i,j,k,p;

i=rand()%26+65;

j=rand()%26+65;k=rand()%26+65;

printf("%c\t%c\t%c\n",i,j,k);

p=i<=j?i:j;p=p<=k?p:k;

printf("%c\n",p+32);

return 0;

}

输入三个互不相同的整数,如果三个数按从小到大顺序输入,则输出1;否则输出0

#include

int main()

{

int a,b,c;

printf("请输入3个不相同的整数:");

scanf("%d%d%d", &a,&b,&c); 

//此处不用if也不用条件表达式,只用逻辑表达式。逻辑表达式的值就是1或者0

printf("%d\n", (a

return 0;

}

求一元二次方程根,设a不为0且b^2-4ac>0

#include

#include

int main()

{float a,b,c,d,x1,x2,p,q;

scanf("%f,%f,%f",&a,&b,&c);

d=b*b-4*a*c;

p=-b/(2*a),q=sqrt(d)/(2*a);

x1=p+q;x2=p-q;

printf("x1=%5.2f\tx2=%5.2f",x1,x2);

return 0;

}

f62bf9c4ef7a7e75239acb47351dbf48.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值