1、1.已知三角形的三边长为 a,b,c,计算三角形面积的公式为:area=sqrt(s(s-a)(s-b)(s-c),其中 s=(a+b+c)/2。试编程从键盘输入 a,b,c 的值(假设 a,b,c 的值可以保证其构成一个三角形),计算并输出三角形的面积。*输入格式要求:“%f,%f,%f“ 提示信息:“Input a,b,c:“*输出格式要求:“area = %.2fn“程序运行示例如下:Input a,b,c:3,4,5area = 6.00答案:#include#includeint main(void)float a, b, c, s, area;printf(“Input a,b,c
2、:“);scanf(“%f,%f,%f“, s = (a + b + c) / 2;area = sqrt(s*(s - a)*(s - b)*(s - c);printf(“area = %.2fn“, area);return 0;-12.从键盘任意输入一个 4位整数,编程计算并输出它的逆序数.例如:输入 1234,分离出千位 1、百位 2、十位 3和个位 4,然后计算 4*1000+3*100+2*10+1=4321,并输出 4321。*要求输入提示信息为:无*要求输入格式为: “%d“*要求输出格式为:“%d“程序运行示例如下:1234 此处为输入4321 此处为输出答案:#inclu
3、deint main(void)int a, b, c, d,e;scanf(“%d“,b = a/1000;c = a%1000/100;d = a%100/10;e = a%10;a = e*1000+d*100+c*10+b;printf(“%d“,a);return 0;-23.有关输入输出问题。输入为:12ab 运行结果为:1,2,a,b,123.300000,65535请改正程序中的错误,使它能得出正确的结果。#include main()int b;unsigned short a = 65535;short k = a;char c, d;int f, g;b = (1234.
4、0 - 1) / 10;scanf(“%c“, scanf(“%c“, scanf(“%d“, scanf(“%d“, printf(“%c,%c,%c,%c,%f,%d“, c, d , f, g, b, k);答案:#include main()double b;int a = 65535;char c, d;int f, g;b = (1234.0 - 1) / 10;scanf(“%c“, scanf(“%c“, scanf(“%ct“, scanf(“%c“, printf(“%c,%c,%c,%c,%f,%d“, c, d , f, g, b, a);-34.输入一行字符,统计其中
5、的英文字符、数字字符、空格字符,以及其他字符的个数。请找出以下程序的错误,并改正之。#include #include #define ARR_SIZE = 80; main()char strARR_SIZE;int len, i;int letter=0,digit=0,space=0,other=0;printf(“请输入一个字符串:“);gets(str);len = strlen(str); for (i=0; i#include #define ARR_SIZE 80 main()char strARR_SIZE;int len, i;int letter = 0, digit =
6、 0, space = 0, other = 0;printf(“请输入一个字符串:“);gets(str);len = strlen(str);for (i = 0; iint Fun(int a)int i;if(a1)for(i = 2;ia;i+)if(a%i=0)return 0;elsecontinue;return 1;elsereturn 0;main()int b,c;printf(“Please input a number:n“);scanf(“%d“,c = Fun(b);if(0 = c)printf(“%d is not a prime numbern“,b);el
7、seprintf(“%d is a prime numbern“,b);参考答案:#include “stdio.h“int Fun(int m);int main() int m, flag;printf(“Please input a number:n“);do scanf(“%d“, /1while (m 2); /e1flag = Fun(m); /3if (flag) /1printf(“%d is a prime numbern“, m);elseprintf(“%d is not a prime numbern“, m); /1return 0; int Fun(int m)/2 int i, flag = 1; /1for (i = 2; i m; i+) /1 if (m % i = 0) /1 flag = 0; /1break;return flag;/2 - -56.求 1898