文章目录
- 找出整型数组中最大的整数并输出
- 判断三边是否可以构成直角三角形,若能构成则计算该直角三角形的面积
- 计算输入的三边是否能构成三角形,如果能就计算该三角形的周长和面积
- 利用数组实现逆置(数字和字母)
- 输出五个俩位数整数,并且按照个个位数又小到大进行排序
- 从键盘输入十个正整数,并且将最小值和首元素交换,不改变数组内其他元素的值
- 输入二十个整数,由大到小进行排序,最后输出四行每行五个整数
- 求数值n的阶乘(递归方式)
注意一下所有程序皆无文件包含命令,如有需要请自行添加 !
#include <stdio.h>
#include <string.h>
#include <math.h>
找出整型数组中最大的整数并输出
//返回整形数组中最大的偶数
int main()
{int a[6];int i,n,max;printf("请输入整型数组元素\n");for (i=0;i<6;i++){scanf("%d",&a[i]); //循环向数组输入内容}for (i=0;i<6;i++){if(a[i]%2==0){max=a[i]; //找出数组中的第一个偶数赋值给maxbreak; //找到第一个偶数后就跳出循环,目的已达到}}for (i=0;i<6;i++){if ((a[i]%2==0)&&(a[i]>max)) max=a[i]; //利用攻擂法循环将数组内偶数数值与找的的第一个最大值进行比较,比max大就称为新的max}printf("整型数组中最大的偶数是%d",max);return 0;}
判断三边是否可以构成直角三角形,若能构成则计算该直角三角形的面积
int main()
{double a,b,c,s;printf("请输入直角三角形的三边,中间请用空格隔开\n");scanf("%lf%lf%lf",&a,&b,&c); if ((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) //判断是否为直角三角形(任意两边之和等于第三边){if(a>b&&a>c) s=b*c/2.0;if(b>a&&b>c) s=a*c/2.0; //为方便计算面积,找出两条直角边 重点!!if(c>b&&c>a) s=a*b*0.5; //两条直角边相乘除以2.0(注意),稳妥起见可以乘以0.5printf("该三边可以构成直角三角形,直角三角形面积是%lf",s);}else printf("该三边不可以可以构成直角三角形");return 0;
}
计算输入的三边是否能构成三角形,如果能就计算该三角形的周长和面积
int main()
{double a,b,c;double s,p;printf("请输入三角形的三条边,中间用空格隔开\n");scanf("%lf%lf%lf",&a,&b,&c);if (a+b>c&&a+c>b&&b+c>a) //判断是否为三角形{p=a+b+c; //周长s = sqrt(p*(p-a)*(p-b)*(p-c)); //面积公式printf("该三角形的周长为%lf\n该三角形的面积为%lf",p,s);}else printf("该三边无法构成三角形\n");return 0;
}
利用数组实现逆置(数字和字母)
int main()
{char a[10],t;int i,j;printf("请输入字符串\n");gets(a);j = strlen(a)-1; //因为i,j俩变量一个递增一个递减都要考虑到for (i=0;i<j;i++,j--){t = a[i];a[i] = a[j];a[j] = t;}puts(a);return 0;
}
输出五个俩位数整数,并且按照个个位数又小到大进行排序
int main()
{int i,j,t;int a[5];printf("请输入一个五个俩位数整数,中间用空格隔开\n");for (i=0;i<5;i++){scanf("%d",&a[i]); //输入五个俩位数整数}for (i=0;i<4;i++){for (j=0;j<4-i;j++){if (a[j]%10>a[j+1]%10){t=a[j]; //利用冒泡排序按照个位数从大到小进行排序a[j]=a[j+1];a[j+1]=t;}}}for (i=0;i<5;i++){printf("%d\t",a[i]); //循环遍历输出}return 0;
}
从键盘输入十个正整数,并且将最小值和首元素交换,不改变数组内其他元素的值
int main()
{int a[10],i,min,m,t;printf("请输入十个正整数,中间用空格隔开\n");for (i=0;i<10;i++){scanf("%d",&a[i]);}min = 0;for (i=0;i<10;i++){if (a[i]<a[min]) //求最小值 下标框架{min = i;}}t = a[0];a[0] = a[min];a[min] = t; //交换值for (i=0;i<10;i++){printf("%d\t",a[i]);}return 0;
}
输入二十个整数,由大到小进行排序,最后输出四行每行五个整数
int main()
{int a[20],i,j,t,c=0,z=4;for (i=0;i<20;i++){scanf("%d",&a[i]);}for (i=0;i<19;i++){for (j=0;j<19-i;j++){if (a[j]<a[j+1]){t=a[j]; //冒泡排序a[j]=a[j+1];a[j+1]=t;}}}// for (i=0;i<4;i++)// {// for (j=c;j<z;j++)// {// printf("%d\t",a[j]); //第一种输出方法// }// printf("\n");// c+=5;// z+=5;// }for (i=0;i<20;i++){ //第二种输出方法if (i%5==0) printf("\n"); //必须先判断后输出printf("%d\t",a[i]);}return 0;
}
求数值n的阶乘(递归方式)
int main()
{int fun(int);int s,n;printf("请输入需要阶乘的数值\n");scanf("%d",&n);s=fun(n);printf("%d的阶乘为%d",n,s);return 0;
}
int fun(int n)
{if (n==1) return 1;else return(n*fun(n-1));
}