哈工大c语言练习题

上传人:nu****n 文档编号:157892131 上传时间:2022-10-01 格式:DOC 页数:8 大小:39.01KB
收藏 版权申诉 举报 下载
哈工大c语言练习题_第1页
第1页 / 共8页
哈工大c语言练习题_第2页
第2页 / 共8页
哈工大c语言练习题_第3页
第3页 / 共8页
资源描述:

《哈工大c语言练习题》由会员分享,可在线阅读,更多相关《哈工大c语言练习题(8页珍藏版)》请在装配图网上搜索。

1、求用户输入的两个数的商,程序运行时,以如下格式输入数据:Input two integers:4 2请改正程序中的错误,使它能得出正确的结果。#include main() int a, b, c; printf(Input two integers:); scanf(%d,%d, &a, &b); c = ab; printf(The quotient of a and b is :%d, c);# include int main ()int a,b,c;printf (Input two integers:);scanf (%d %d,&a,&b);c=a/b;printf (The q

2、uotient of a and b is :%dn,c);return 0;使用const常量定义圆周率pi=3.14159,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。输出的数据保留两位小数点。输入格式要求:%lf 提示信息:Input r:输出格式要求:printf WITHOUT width or precision specifications:n circumference = %f, area = %fn printf WITH width and precision specifications:n circumference = %7.2f, area = %7.2f

3、n程序运行示例如下:Input r:5.3printf WITHOUT width or precision specifications:circumference = 33.300854, area = 88.247263printf WITH width and precision specifications:circumference = 33.30, area = 88.25#include int main() const double PI=3.14159;double r; printf(Input r:); scanf(%lf, &r); printf(printf WIT

4、HOUT width or precision specifications:n);printf(circumference = %f, area = %fn,2*PI*r,PI*r*r); printf(printf WITH width and precision specifications:n);printf(circumference = %7.2f, area = %7.2fn,2*PI*r,PI*r*r);return 0;写一个程序,将接收的华氏温度转换为对应的摄氏温度。程序应显示如下的提示信息: Please input fahr: 然后输入一个十进制数并回车,然后程序以合适

5、的消息形式输出转换后的华氏温度。程序使用如下的公式完成转换:摄氏温度 = 5.0 *(华氏温度 32.0) / 9.0输入格式要求:%lf 提示信息:Please input fahr: 输出格式要求:The cels is: %.2f#include #include int main()double f;double c;printf(Please input fahr: );scanf(%lf,&f);c=5.0*(f-32.0)/9.0;printf(The cels is: %.2f,c);return 0;从键盘输入任意的字符,按下列规则进行分类计数。第一类:0, 1, 2, 3,

6、 4, 5, 6, 7, 8, 9第二类:+, -, *, /, %, =第三类:其它字符。输出格式要求:class1=%d, class2=%d, class3=%dn程序运行示例如下:ghdf%#$&(+-/+_8*(class1=1, class2=7, class3=14#include int main() char ch; int a = 0,b = 0,c = 0; while (ch = getchar() != n) /*当读入的字符不是换行符时*/ if (ch = 0 & ch = 9) /*判断是否是数字*/ +a; else if (ch = +|ch = -|ch

7、= *|ch = %|ch = /|ch = =) /*判断是否是巴拉巴拉*/ +b; else /*是其它字符*/ +c; printf(class1=%d, class2=%d, class3=%dn,a,b,c); return 0;要求:输入为一个数n;输出为1n的奇数的阶乘之和;要求使用函数实现输入输出示例(第一行为输入,第二行为输出):5127#includelong Fact(int n)int i;long result=1;for(i=1;i=n;i+)result*=i;return result;int main()int m,j,sum;long ret;scanf(%

8、d,&m);sum=0;for(j=1;j=m;j=j+2) ret=Fact(j); sum=sum+ret;printf(%dn,sum);return 0;键盘任意输入一下整数n,编程计算输出1n之间的素数之和。要求:判断素数用函数实现。说明:素数是不能被1和它本身以外的其它整数整除的正整数(负数、0和1都不是素数)输入输出示例(第一行为输入,第二行为输出):1017#include #include int ss(int n) int i;if(n2) return 0; for (i=2; i=(int)sqrt(double)n); i+) if (n%i=0) return 0;

9、 return 1;int main(void) int i,sum=0,n; scanf(%d,&n); for (i=1; i=n; i+) if(ss(i) sum+=i; printf(%dn,sum); return 0;从键盘多次输入不同的整数n,编程计算输出1n之间的素数之和。要求:1)判断素数调用函数实现;2)用循环结构,输入5次不同的整数。输入输出实例(奇数行为输入,偶数行为输出):25100175828100371971001060#include #include int ss(int n) int i;if(n2) return 0; for (i=2; i=(int)

10、sqrt(double)n); i+) if (n%i=0) return 0; return 1;int main(void) int i,sum=0,n; int counter=0; do scanf(%d,&n); counter+; for (i=1; i=n; i+) if(ss(i) sum+=i; printf(%dn,sum); sum=0; while(counter=4); return 0;(请用一维数组完成)某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上 5, 然后用和除以 10 的余数代替该数字,再将第一位和第四位

11、交换,第二位和第三位交换。输入格式要求:%d 提示信息:Input a 4 digits numbern输出格式要求:%d程序运行示例如下:Input a 4 digits number12349876#include int main () int Digit4; int n; int i; int m; printf (Input a 4 digits numbern); scanf(%d,&n); Digit0=n/1000; Digit1=(n-1000*Digit0)/100;Digit2=(n-Digit0*1000-Digit1*100)/10;Digit3=n-Digit0*1

12、000-Digit1*100-Digit2*10; for(i = 0;i =3;i+) Digiti=(Digiti+5)%10; m= Digit0+10*Digit1+100*Digit2+1000*Digit3; printf(%d,m); return 0;(请用二维数组完成)从键盘为3*3的矩阵输入数据,找出主对角线上最大的元素,以及所在的行号。(第一行行号为0)*输入格式要求:%d*输出格式要求:max=%d ,row=%d屏幕输入数据,输出最终结果(每个数字之间空一格):程序运行示例如下:1 2 34 5 67 8 9max=9 ,row=2# include int main

13、 ()int i, j;int s33;int max, row;for (i = 0; i 3; i+)for (j = 0; j 3; j+)scanf (%d, &s ij);max = s 00;row = 0;for (i = 0; i 3; i+)if (max s ii)max = s ii;row = i;printf (max=%d ,row=%d, max, row);return 0;计算游戏人员的年龄。有5个人围坐在一起,问第5个人多大年纪,他说比第4个人大2岁;问第4个人,他说比第3个人大2岁;问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个

14、人说自己10岁,问第5个人多大年纪。输入格式:无输出格式:The 5th persons age is %dn# include int Fs (int x);int main ()int age;int n = 5;age = Fs (n);printf (The 5th persons age is %dn, age);return 0;int Fs (int x)if (x = 1)return 10;elsereturn 2 + Fs (x - 1);输入一组包含10个整数的数组,找出其中的最小元素,并与第一个元素交换。输出这个数组。要求交换元素时调用swap_min函数。输入输出示例

15、(第一行为输入,第二行为输出):22 20 9 8 7 6 12 17 1 31 20 9 8 7 6 12 17 22 3#include #include void swap_max(int *a,int *b);int main() int a11; int i,j,k; for(i=0;i10;i+) scanf( %d,&ai); k=0; for(j=0;jak) k=j; swap_max(&ak,&a0); printf(%d %d %d %d %d %d %d %d %d %d,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9); return 0;void swa

16、p_max(int *a,int *b) int temp; temp=*a; *a=*b; *b=temp;按照给定的函数原型编程实现两个字符串的连接(不允许使用字符串连接函数strcat)。函数原型:void Mystrcat(char a , char b );要求:将字符数组a中存放的字符串连接到字符数组b中;在主函数读入两个字符串(读入的字符串可包括空格);连接之后的字符串在主函数输出;字符串长度最长为70。输入输出样例(前两行为输入,最后一行为输出):Hello!How are you?How are you?Hello!#include #include void Mystrca

17、t(char a,char b);int main()char a80,b80;gets(a);gets(b);Mystrcat(a,b);puts(a);return 0;void Mystrcat(char a,char b) int i,n,m; m=strlen(b); n=strlen(a); for (i = 0; i m+1; +i) an+i=bi; am+n+1=0;用循环结构编程,输出如下图案。 * * * *# include # define N 5int main ()char m NN;int i;for (i = 0; i N; i+)if (i = 0 | i

18、= 4)printf ( %cn, m02 = *);else if (i = 1 | i = 3)printf ( %c%c%cn, m 11 = *, m12 = *, m13 = *);else if (i = 2)printf (%c%c%c%c%cn, m i0 = *, m i1 = *, m i2 = *, m i3 = *, m i4 = *);return 0;有30个人,其中有男人、女人和小孩,在一家饭馆吃饭共花了50元:每个男人花3元,每个女人花2元,每个小孩花1元,问男人、女人和小孩各几人?*输出格式要求:(前两行为表头格式,最后一行为输出答案格式,有几种可能答案输出几

19、行,第一个%2d表示行号(从1开始),后三个%d分别为男人、女人、小孩的人数,按男人数递增顺序输出)tMENtWOMENtCHILDRENn -n%2d:t%dt%dt%dn# include # define N 30int main ()int man, woman, child;int r= 0;printf (tMENtWOMENtCHILDRENn);printf (-n);for (man = 0; man N; man+)for (woman = 0; woman N - man; woman +)child = N - man - woman;if (3 * man + 2 *

20、 woman + 1 * child = 50)r +;printf (%2d:t%dt%dt%dn, r, man, woman, child); return 0;按如下函数原型,用二维数组作为函数参数,编程计算并输出nn阶矩阵的转置矩阵。其中,n由用户从键盘输入。已知n值不超过10。void Transpose(int aN, int n);void InputMatrix(int aN, int n);void PrintMatrix(int aN, int n);输入提示信息要求:Input n:n输入格式:%d输出提示信息:The transposed matrix is:n输出要

21、求:%dt 输出矩阵时,每输出一行就换行注:不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程输入输出示例:Input n:21 10 2The transposed matrix is:1 01 2# include # define N 10void Transpose (int mN, int n);void InputMatrix (int m N, int n);void PrintMatrix (int m N, int n);int main ()int n;int m NN;printf (Input n:n);scanf (%d, &n);InputMatrix

22、(m, n);Transpose (m, n);printf (The transposed matrix is:n);PrintMatrix (m, n);return 0;void InputMatrix (int m N, int n)int i, j;for (i = 0; i n; i+)for (j = 0; j n; j+)scanf (%d, &m ij);void PrintMatrix (int m N, int n)int i, j;for (i = 0; i n; i+)for (j = 0; j n-1; j+)printf (%dt, m ij);printf (%

23、d, m in - 1);printf (n);void Transpose (int m N, int n)int i, j;int temp;for (i = 0; i n; i+)for (j = 0; j i; j+)temp = m ij; m ij = m ji;m ji = temp;从键盘任意输入一个字符串(字符串可以有空格),在给定的一组字符串中寻找该输入字符串,若找到,则打印该字符串,否则打印Not find!。注意:(1)请提交修改正确后的完整源程序代码。(2)对于没有错误的语句,请不要修改#include #include main() int i, findFlag

24、= 1; char x; char str13= Pascal,Basic,Fortran, Java,Visual C, Visual Basic ;printf(Input string:n); gets(x);while (i6 & !findFlag) if (x=stri) findFlag = 0; i+; if (!findFlag) printf(%sn,x); else printf(Not find!n); #include #include int main() int i = 0, f = 1; char m 13; char str13= Pascal,Basic,Fortran, Java,Visual C, Visual Basic ; printf(Input string:n); gets(m); while (i6 & f = 1) if (strcmp (m, str i) = 0)f = 0; i+;if (f = 0) printf(%sn,m);else printf(Not find!n);return 0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!