2026年3月3日
收获:
1.要判断输入的是否能构成三角形,任意两边之和大于第三边且各边长度大于0,否则输出非数area=-nan。
2.找三个数的中位数时,可判断其他两数是否都大于当前数,取其他两数中的较小数返回;或判断是否都小于当前数,取其他两数的较大值返回;否则返回当前数,即为三个数的中位数。
3.寻找自幂数时可将各位存到数组中,或直接进行每一位的pow(x,n)x的n次幂求和操作,需要一个临时变量依次取余得到每一位数。
题目:
1、Q324.(语言: C)按如下公式计算三角形面积。输入三角形的三个边长,计算三角形的面积。设三角形的三个边长分别为a、b、c,为简单起见,我们认为输入的三个边长数据是正确的,可以组成一个三角形。
**输入格式要求:“%f,%f,%f” 提示信息:“Enter 3 floats:”
**输出格式要求:“area=%.2f\n”
程序运行示例如下:
Enter 3 floats:2,2,3
area=1.98
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;
printf("Enter 3 floats:");
scanf("%f,%f,%f",&a,&b,&c);
float s=(a+b+c)/2;
float area=sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c&&b+c>a&&a+c>b&&a>0&&b>0&&c>0){
printf("area=%.2f\n",area);
}else{
printf("area=-nan\n");
}
return 0;
}
2、Q3117.(语言: C)寻找中位数v1.0
编写一个函数返回三个整数中的中间数。
函数原型:int mid(int a, int b, int c);
功能是返回a,b,c三数中大小位于中间的一个数。
程序运行结果示例1:
12 6 18↙
The result is 12
程序运行结果示例2:
-9 7 -2↙
The result is -2
输入格式: “%d%d%d”
输出格式:“The result is %d\n”
#include <stdio.h>
int mid(int a ,int b,int c);
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int re=mid(a,b,c);
printf("The result is %d\n",re);
return 0;
}
int mid(int a, int b, int c){
int mid=a;
if(b<mid&&c<mid){
mid=b>c?b:c;
}else if(b>mid&&c>mid){
mid=b<c?b:c;
}
return mid;
}
3、Q188.(语言: C)用二维字符数组方法编程实现从键盘任意输入10个字符串,将这10个字符串按字典顺序排序后打印输出,字符串最大长度80。
**输入提示信息格式: 无
**输入数据格式要求: 要求读入的字符串可以包含有空格
**输出数据格式要求: 一行输出一个字符串
注:不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。
#include <stdio.h>
#include <string.h>
int main()
{
char str[10][80];
for(int i=0;i<10;i++){
gets(str[i]);
}
for(int i=0;i<10;i++){
for(int j=i+1;j<10;j++){
if(strcmp(str[i],str[j])>0){
char tmp[80];
strcpy(tmp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],tmp);
}
}
}
for(int i=0;i<10;i++){
puts(str[i]);
}
return 0;
}
4、Q6446.(语言: C)由键盘输入一个数,判断它是否为偶数。
程序运行结果示例:
输入一个整数:
26
26 是偶数!
输入提示:“输入一个整数:\n”
输入格式:%d
输出格示:“%d 是偶数!\n” “%d 不是偶数!\n”
#include <stdio.h>
int main()
{
int x;
printf("输入一个整数:\n");
scanf("%d",&x);
if(x%2==0){
printf("%d 是偶数!\n",x);
}else{
printf("%d 不是偶数!\n",x);
}
return 0;
}
5、Q2243.(语言: C)一个n位正整数如果等于它的n个数字的n次方和,该数称为n位自方幂数。设计求3~6位自方幂数。
**输出格式要求:“%d位自幂数有:” “%ld\t” “\n” (每位完后换行)
程序运行示例如下:
3位自幂数有:153 370 371 407
4位自幂数有:1634 8208 9474
5位自幂数有:54748 92727 93084
6位自幂数有:548834
#include <stdio.h>
#include <math.h>
int main()
{
int x=100,now=100;
for(int i=3;i<7;i++){
printf("%d位自幂数有:",i);
x*=10;
while(now<x){
int a[7],tmp=now,sum=0;
for(int j=0;j<i;j++){
a[j]=tmp%10;
tmp/=10;
sum+=pow(a[j],i);
}
if(now==sum){
printf("%ld\t",now);
}
now++;
}
printf("\n");
}
return 0;
}

854

被折叠的 条评论
为什么被折叠?



