哈工大c语言练习题_第1页
哈工大c语言练习题_第2页
哈工大c语言练习题_第3页
哈工大c语言练习题_第4页
哈工大c语言练习题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hcircumferenee = %, area = %n”程序运行示例如下:Input r:double f;double c;求用户输入的两个数的商程序运行时,以 如下格式输入数据:Input two integers:4 2/请改正程序中的错误,使它能得出正确的结 果。#inelude <>main()int a, b, c;printf(Hlnput two integers:1'); scanf(,%d/%d,/ &a, &b);c = ab;printf(HThe quotient of a and b is :%d", c);# in

2、clude <>int main ()int abc;printf ("Input two integers:");scanf ("%d %d,/&a/&b);c=a/b;printf ("The quotie nt of a and b is :%dnM,c);>return 0;使用const常量迫义圆周率pi=,编程从键盘 输入圆的半径计算并输岀圆的周长和面 积。输出的数据保留两位小数点。输入格式要求:"lf"提示信息:,lnputr:M输出格式要求:"printf WITHOUT w

3、idth or precision specifications n"''circumference = %f area = %fn”"pri ntf WITH width and precisio n specificati ons:n”printf WITHOUT width or precisionspecifications:circumference = z area =printf WITH width and precisionspecifications:circumference =. area =#include <>int

4、main()*const double Pl=;double r;printf("lnput r:");scanf(,%lf,/ &r);printf(Nprintf WITHOUTwidth orprecision specifications:nH);printfC'circumference =%f,area= %fn,/2*PI*r;PI*r*r);printf(Hprintf WITH width and precision specificatio ns:n");prin tf(Ncircumference=%, area= %n ,/

5、2*PI*r/PI*r#r);return 0;i写一个程序,将接收的华氏温度转换为对应 的摄氏温度。程序应显示如下的提示信息: Please in put fahr:然后输入一个十进制数并回车,然后程序以 合适的消息形式输出转换后的华氏温度。程序使用如下的公式完成转换:摄氏温度= *(华氏温度-)/输入格式要求:”lf"提示信息:"Please input fahr:"输出格式要求:"The cels is: %.2f"#inelude <>I#inelude <>int main() printf(uPlease i

6、nput fahr:"); scanf(”l化&f);c=*/;printf(uThe cels is: %.2f,/c); return 0;从键盘输入任意的字符,按下列规则进行分 类计数。第一类:'1',,4','5','6','7','8','9'第二类:7,小,'%',第三类:其它字符。输出格式要求:,classl=%d/ class2=%d, class3=%dnM程序运行示例如下: ghdfA%A#$A&(+_8"( class

7、l=l, class2=7f class3=14 #include <>Aint main()char ch;int a = 0,b = 0,c = 0;while (ch = getchar() != rV)广当读入的字符不是换行符时/if (ch >= O && ch <= 9) 广判断是否是数字>7+a;else if (ch = "+'| |ch = '-J |ch = |ch = Hch = 7111ch = '=)厂判断是 否是巴拉巴拉*/+b;else广是英它字符*/+C;printf(,classl

8、=%d,class2=%d,class3=%dn,/a/b/c);return 0;要求:输入为一个数n;输出为ln的奇数的阶乘之和;要求使用函数实现输入输出示例(第一行为输入,第二行为输 出):5127#in cludeolong Fact(int n)int i;long result=l;for(i=l;i<=n;i+)result*=i;return result;int main()int m jsum;long ret;scanf(吆d':&m);sum=0;for(j=l;j<=m;j=j+2)ret=Fact(j); sum=sum+ret;prin

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

10、/sum=0zn;Iscanf(”cf:&n);for (i=l; i<=n; i+)if(ss(i)sum+=i;printff ”dn 舄 sum);return 0;从键盘多次输入不同的整数m编程计算输 出ln之间的素数之和。要求:1) 判断素数调用函数实现;2) 用循环结构,输入5次不同的整数。 输入输出实例(奇数行为输入,偶数行为输 出人25100175828100371971001060#include <>#include <>int ss(int n)int i;if(n<2) return 0;for (i=2; i<=(in

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

12、位和第四位交换,第二位和 第三位交换。输入格式要求:"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 numbernN);scanf("%cT:&n);Digit0=n/1000;Digitl=(n-1000*Digit0)

13、/100;Digit2=(n-Digit0*1000-Digitl*100)/10;Digit3=n-Digit0*1000-Digitl*100-Digit2 10;)for(i = 0;i<=3;i+)Digiti=(Digiti+5)%10;m=Digit0+10*Digitl+100*Digit2+1000*Digit3;printf(”cf,rn);return 0;(请用二维数组完成)从键盘为3*3的矩阵 输入数据,找岀主对角线上最大的元素,以 及所在的行号。(第一行行号为0) "输入格式要求:”d”"输岀格式要求:Hmax=%d /row=%dn 屏幕输

14、入数据,输岀最终结果(每个数字之 间空一格):程序运行示例如下:123456789max=9 /row=2 # include <> int main ()int i, j;int s33;int max, row;for (i = 0; i < 3; i+)for (j = 0; j < 3; j+)scanfCd1; &s i0);Imax = s 00;row = 0;for (i = 0; i < 3; i+)if (max < s ii)max = s ii;row = i;printf (Nmax=%d /row=%d,/ max, ro

15、w); return 0;计算游戏人员的年龄。有5个人用坐在一 起,问第5个人多大年纪,他说比第4个人 大2岁;问第4个人,他说比第3个人大2 岁;问第3个人,他说比第2个人大2岁: 问第2个人,他说比第1个人大2岁。第1 个人说自己10岁,问第5个人多大年纪。 输入格式:无输出格式:"The 5th person's age is %dnH# include <>int Fs (int x);int main ()int age;int n = 5;age = Fs (n);printf ("The 5th person's age is %d

16、n,l/age);return 0;void swap_max(int *a,int *b)int Fs (int x)if (x =1)return 10;elsereturn 2 + Fs (x-1);输入一组包含10个整数的数组,找出其中 的最小元素,并与第一个元素交换。输出这 个数组。要求交换元素时调用swap_min函 数。输入输岀示例(第一行为输入,第二行为输 出):22 209 8 7612 17 131 20 9 8 7 6 12 17 22 3#include <>#include <>(void swap_max(int *a,int *b);int

17、 main()int all;int i jk;for(i=0;i<10;i+)scanf(M %d,/&ai);k=0;for(j=0;j<10;j+)if(aj>ak)k=j;swap_max(&ak,&a0);printf("%d %d %d %d %d %d %d %d %d %d",a0,a ,a2,a3,a4,a5,a6,a7,a8,a9);return 0;int temp;temp=*a;*a=*b;*b=temp;按照给定的函数原型编程实现两个字符串 的连接(不允许使用字符串连接函数strcat)o 函数原型:vo

18、id Mystrcat(char a , char b );要求:将字符数组a中存放的字符串连接到字符数 组b中;在主函数读入两个字符串(读入的 字符串可包括空格);连接之后的字符串在 主函数输岀;字符串长度最长为70.输入输岀样例(前两行为输入,最后一行为 输岀):Hello!How are youHow are youHello!#inelude <>#inelude <>void Mystrcat(char a,char b);int main()char a80,b80;gets(a);gets(b);Mystrcat(azb);puts(a);return 0

19、;void Mystrcatchar a,char b)int i,nzm;m=strlen(b);n=strle n(a);for (i = 0; i < m+1; +i)an+i=bi;am+n+l=,O'用循环结构编程,输出如下图案。* * * * *# include <># define N 5int main ()char m NN;int i;for (i = 0; i < N; i+)if (i = 0 | | i = 4)printf (H %cnn, m0二佯');else if (i = 1 | | i = 3)printf (&q

20、uot; %c%c%cn,/ m 11= =*');else if (i = 2)printf ("%c%c%c%c%cn", m =2 = m =* m i八);return 0;有30个人,其中有男人、女人和小孩,在 一家饭馆吃饭共花了 50元:每个男人花3 元,每个女人花2元,每个小孩花1元,问 男人、女人和小孩各几人I输岀格式要求:(前两行为表头格式,最 后一行为输出答案格式,有几种可能答案输 岀几行,第一个2d表示行号(从1开始), 后三个d分别为男人、女人.小孩的人数, 按男人数递增顺序输出)l,tMENtWOMENtCHILDRENn" ,%

21、2d:t%dt%dt%dn,1# in elude <># define N 30int main ()int man, woman, child;int r= 0;printf (,tMENtWOMENtCHILDRENnN);printf("W');for (man = 0; man < N; man+)for (woman = 0; woman v N man; woman +)child = N - man - woman; if (3 * man + 2 * woman +1 * child = 50)r+; printf (,%2d:t%dt%d

22、t%dn,/ r, man, woman, child);return 0;I按如下函数原型,用二维数组作为函数参 数,编程计算并输出nXn阶矩阵的转置矩 阵。其中,n由用户从键盘输入。已知n值不超 过10。void Transposefint 乱N, int n);void lnputMatrix(int aN, int n);void PrintMatrix(intint n);输入提示信息要求:"Input n:n"输入格式:” d“输出提示信息:"The transposed matrix is:nu 输出要求:"dt”输出矩阵时,每输出一行就换

23、行注:不能使用指针、结构体、共用体、文件、 goto、枚举类型进行编程输入输出示例:Input n:21 102The transposed matrix is:1012# include <># define N 10void Transpose (intint n);void InputMatrix (int m NZ int n);void PrintMatrix (int m int n);int main ()int n;int m NN;printf (Ulnput n:nH);scanf&n);InputMatrix (m, n);Transpose (m,

24、n);printf ("The transposed matrix is:nH);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 (吆口 &m void PrintMatrix (int m N, int n)int i, j;for (i = 0; i < n; i+)for (j = 0; j < n-1; j+)printf C'%drmij);printf (”d: m in -1);iprintf ("n");void Transpose (int m N, int n)int i, j;int temp;for (i = 0; i < n; i+)for (j = 0; j < i

温馨提示

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

评论

0/150

提交评论