使用整数除法获得商c语言,C语言练习题答案

《C语言练习题答案》由会员分享,可在线阅读,更多相关《C语言练习题答案(186页珍藏版)》请在人人文库网上搜索。

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:);scanf(%f,%。

2、f,%f, &a, &b, &c);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 此处为输出答案:#includeint main(void)in。

3、t a, b, c, d,e;scanf(%d,&a);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.,65535请改正程序中的错误,使它能得出正确的结果。#include main()int b;unsigned short a = 65535;short k = a;char c, d;int f, g;b = (1234.0 - 1) / 10;scanf(%c, &c。

4、);scanf(%c, &d);scanf(%d, &f);scanf(%d, &g);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, &c);scanf(%c, &d);scanf(%ct, &f);scanf(%c, &g);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 = 0, space = 0,。

6、 other = 0;printf(请输入一个字符串:);gets(str);len = strlen(str);for (i = 0; iint Fun(int a)int i;if(a1)for(i = 2;i#define N 330int aN;int main()int c = 0, b = 0, d = 1;int i = 0, j = 0, k = 0;for (i = 3;i = 0;c-)for (b = c + 1;c #include int IsPrime(int x);void OutputPrimeFactor(int x);int main()int m;prin。

7、tf(Input m:);scanf(%d,&m);if(IsPrime(m)printf(It is a prime numbern);elseprintf(%d = ,m);OutputPrimeFactor(m);return 0;int IsPrime(int x)int i,flag=1;int squareRoot=sqrt(x);if(x#include int main()int a;char b32;printf(Input number:);scanf(%d, &a);printf(number of decimal form:%dn, a);printf( its bin。

8、ary form: );printf(%sn, itoa(a, b, 2);-89.求自然数n最近的素数k, kn。*输入提示信息*:Input n:*输入数据格式*:%d*输出数据格式*:%d示例输入:257输出:Please input n:263答案:#includeint main()int n, i = 1, k;printf(Please input n:);scanf(%d, &n);for (k = n + 1;i;k+)for (i = 2;i int IsPerfect(int x);int main()int m;printf(Input m:n);scanf(%d, &。

9、m);if (IsPerfect(m)printf(%d is a perfect numbern, m);elseprintf(%d is not a perfect numbern, m);int IsPerfect(int x)int i = 1,b = 0;for (i = 1;i int max(int a, int b)if(a = b)return a;elsereturn b;main()int a = 0,b = 0;printf(Input a,b:);scanf(%d,%d,&a,&b);printf(max = %dn,max(a,b);-1112.利用求阶乘函数Fac。

10、t(),编程计算并输出1! + 2! + + n!的值。*输入格式要求:%u 提示信息:Input n(n0):*输出格式要求:sum = %lun答案:#include int sum_s(int i);main()unsigned int n = 0;unsigned long b = 0;printf(Input n(n0):);scanf(%u,&n);for (b;n;n-)b = b +sum_s(n);printf(sum = %lun,b); int sum_s(int i)int a;for(a = 1;i;i-)if (i 1)a = a * i;elsea = a * 1。

11、;return a;-1213.编程输出如下菜单界面(具体的输出则以下面提示中要求的输出格式为准):=大学信息管理系统= -办公室管理 财务管理 教务管理 图书管理 科研管理 设备管理 人事管理 后勤管理 退出系统-请您在上述功能中选择(08):提示:输出如下格式=大学信息管理系统= n-n1. 办公室管理 5. 财务管理 n2. 教务管理 6. 图书管理 n3. 科研管理 7. 设备管理 n4. 人事管理 8. 后勤管理 n0. 退出系统n-n请您在上述功能中选择(08):n答案:#include main()printf(=大学信息管理系统= n);printf(-n);printf(1.。

12、 办公室管理 5. 财务管理 n);printf(2. 教务管理 6. 图书管理 n);printf(3. 科研管理 7. 设备管理 n);printf(4. 人事管理 8. 后勤管理 n);printf(0. 退出系统n);printf(-n);printf(请您在上述功能中选择(08):n);-1314.利用静态变量计算n的阶乘。*输入格式要求:%d 提示信息:Input n:*输出格式要求:%d! = %ldn程序运行示例如下:Input n:101! = 12! = 23! = 64! = 245! = 1206! = 7207! = 50408! = 403209! = 10! = 。

13、答案:#include int sum_s(int i);main()unsigned int n = 0,b = 1;printf(Input n:);scanf(%d,&n);for (b = 1;b 1)a = a * i;elsea = a * 1;return a;-1415.写一个程序从键盘输入两个整数,然后显示输出第1个数除以第2个数的结果。例如,输入123和12,程序的输出结果格式如下:10 Remainder = 3-12 ) 123提示:使用求余运算符获得余数,使用整数除法获得商。*输入格式要求:%d%d 提示信息:请输入两个整数:*输出格式要求:%13d Remainde。

14、r = %dn -n%5d ) %5d答案:#include main()int a, b, c, d;printf(请输入两个整数:);scanf(%d%d,&a,&b);c = a / b;d = a % b;printf(%13d Remainder = %dn,c,d);printf( -n);printf(%5d ) %5d,b,a);-1516.写一个程序,将接收的摄氏温度转换为对应的华氏温度。程序应显示如下的提示信息:Please input cels: 然后输入一个十进制数并回车,然后程序以合适的消息形式输出转换后的华氏温度。程序使用如下的公式完成转换:摄氏温度 = 5.0 *。

15、(华氏温度 32.0) / 9.0*输入格式要求:%lf 提示信息:Please input cels: *输出格式要求:The fahr is: %.2f答案:#include main()double a,b;printf(Please input cels: );scanf(%lf,&a);b = (9.0 * a)/5.0 + 32.0;printf(The fahr is: %.2f,b);-1617.写一个程序,将接收的华氏温度转换为对应的摄氏温度。程序应显示如下的提示信息:Please input fahr: 然后输入一个十进制数并回车,然后程序以合适的消息形式输出转换后的华氏温。

16、度。程序使用如下的公式完成转换:摄氏温度 = 5.0 *(华氏温度 32.0) / 9.0*输入格式要求:%lf 提示信息:Please input fahr: *输出格式要求:The cels is: %.2f答案:#include main()double a,b;printf(Please input fahr: );scanf(%lf,&a);b = 5.0 * (a - 32.0) / 9.0;printf(The cels is: %.2f,b);-1718.编写一个程序,输入一个3位整数,要求逆序输出对应的数。例如:输入123,则输出321。*输入格式要求:%d 提示信息:Ple。

17、ase enter a positive integer: *输出格式要求:%d%dn 程序运行示例如下:Please enter a positive integer: 345345543答案:#includeint main(void)int a, b, c, d,e;printf(Please enter a positive integer: );scanf(%d,&a);b = a/100;d = a%100/10;e = a%10;c = e*100+d*10+b;printf(%d%d,a,c);return 0;-1819.计算两个数的平方和从键盘读入两个实数,编程计算并输出它。

18、们的平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数。提示:使用数学函数需要在程序中加入编译预处理命令 #include 以下为程序的输出示例:Please input x and y:1.2,3.4result=13.00输入格式:%f,%f输出格式:输入提示信息:Please input x and y:n输出格式:result=%.2fn答案:#include #include main()float x,y,z;printf(Please input x and y:n);scanf(%f,%f,&x,&y);z = pow(x,2) + pow(y,2);pr。

19、intf(result=%.2fn,z);1920.写一个程序从键盘输入两个整数,然后显示第1个整数占第二个整数的百分比,保留到小数点后1位。例如输入5和40,程序输出结果如下:5 is 12.5 percent of 40 *输入格式要求:%d%d 提示信息:请输入两个整数:*输出格式要求:%d is %.1f percent of %d答案:#include main()int a, b;float c;printf(请输入两个整数:);scanf(%d%d,&a,&b);c = (float)a / (float)b;c = c *100;printf(%d is %.1f percen。

20、t of %d,a, c, b );-2021.求三角形面积。输入三角形的三个边长,计算三角形的面积。设三角形的三个边长分别为a、b、c,为简单起见,我们认为输入的三个边长数据是正确的,可以组成一个三角形。*输入格式要求:%f,%f,%f 提示信息:Enter 3 floats:*输出格式要求:area=%.2fn程序运行示例如下:Enter 3 floats:2,2,3area=1.98答案:#include#includeint main(void)float a, b, c, s, area;printf(Enter 3 floats:);scanf(%f,%f,%f, &a, &b, 。

21、&c);s = (a + b + c) / 2;area = sqrt(s*(s - a)*(s - b)*(s - c);printf(area=%.2fn, area);return 0;-2122.写一个程序计算长为11.5厘米,宽为2.5厘米,高为10厘米的盒子的体积和表面积。程序说明:采用直接赋值,不用输入。*输出格式要求area=%.2f,volume=%.2f答案:#include main()float a, b;a = (11.5 * 2.5 + 11.5*10 +10 * 2.5)*2;b = 11.5 * 2.5 * 10;printf(area=%.2f,volume=。

22、%.2f,a,b);23.用递归方法计算整数n的阶乘n!。*输入格式要求:%d 提示信息:Input n: nint f(int n)if(n=1 |n=0)return 1;elsereturn n * f(n - 1);main()int n;o: printf(Input n:);scanf(%d,&n);while (nint Fib(int n)if (n = 0)return 0;else if (n = 1)return 1;elsereturn Fib(n - 1) + Fib(n - 2);main()int n, a;printf(Input n:);scanf(%d, &。

23、n);for (a = 1; a 0):*输出格式要求:%d! = %lun程序运行示例如下:Input n(n0):101! = 12! = 23! = 64! = 245! = 1206! = 7207! = 50408! = 403209! = 10! = 答案:#includeint sum_s(unsigned int i)unsigned int a;for(a = 1;i;i-)if (i 1)a = a * i;elsea = a * 1;return a;int Fact(unsigned int n)unsigned int i;for(i = 1;i 0):);scanf。

24、(%u,&i);Fact(i);-2526.爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,最后剩下1阶;若每步跨3阶,最后剩下2阶;若每步跨5阶,最后剩下4阶;若每步跨6阶,则最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。参考例6.15程序,编写计算这条阶梯共有多少阶的程序如下所示,其中存在一些语法和逻辑错误,请找出并改正之,然后上机运行程序并写出程序的运行结果。#include main() int x = 1, find = 0;while (!find);if (x%2=1 & x%3=2 & x%5=4 & x%6=5 & x%7=0)printf(x = %dn, x。

25、);find = 1; x+; 答案:#include main() int x = 1, find = 0;while (!find) if (x % 2 = 1 & x % 3 = 2 & x % 5 = 4 & x % 6 = 5 & x % 7 = 0) printf(x = %dn, x);find = 1;x+; -2627.从键盘任意输入一个正整数,编程判断它的奇偶性。要求输入变量定义为int类型且由用户从键盘输入。程序的运行示例1:Input an integer number:44 is an even number程序的运行示例2:Input an integer numb。

26、er:33 is an odd number输入格式:%d输出格式:输入信息提示:Input an integer number:n偶数输出格式:%d is an even numbern奇数输出格式:%d is an odd numbern答案:#include main()int n, m;printf(Input an integer number:n);scanf(%d, &n);m = n % 2;if (m)printf(%d is an odd numbern, n);elseprintf(%d is an even numbern, n);-2728.用动态数组编程输入任意m个。

27、班学生(每班n个学生)的某门课的成绩,计算最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。其中,m和n的值由用户从键盘任意输入(不限定m和n的上限值)。输入提示信息:Input array size m,n:Input %d*%d array:n输入格式:%d,%d输出提示信息和格式:maxScore = %d, class = %d, number = %dn答案:#include #include void InputScore(int *p, int m, int n);int FindMax(int *p, int m, int n, int *pRow, int *pCo。

28、l);int main() int *pScore, m, n, maxScore, row, col;printf(Input array size m,n:);scanf(%d,%d, &m, &n);pScore = (int *)calloc(m * n, sizeof (int); /* 申请动态内存 */if (pScore = NULL) printf(No enough memory!n);exit(0);InputScore(pScore, m, n);maxScore = FindMax(pScore, m, n, &row, &col);printf(maxScore =。

29、 %d, class = %d, number = %dn, maxScore, row + 1, col + 1);free(pScore); /* 释放动态内存 */return 0; /* 函数功能:输入m行n列二维数组的值 */void InputScore(int *p, int m, int n) int i, j;printf(Input %d*%d array:n, m, n);for (i = 0; i m; i+) for (j = 0; j n; j+) scanf(%d, &pi * n + j); /* 函数功能:计算任意m行n列二维数组中元素的最大值,并指出其所在行列下标值 */int FindMax(int *p, int m, int n, int *pRow, int。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值