ImageVerifierCode 换一换
格式:DOCX , 页数:87 ,大小:32.27KB ,
资源ID:1690859      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1690859.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大学经典C语言编程试题.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

大学经典C语言编程试题.docx

1、大学经典C语言编程试题 RUSER redacted on the night of December 17,2020大学经典C语言编程试题1.输入两个正整数,m和n,求其最大公约数和最小公倍数。#includevoid main() int hcf(int,int); /*函数声明*/ int lcd(int,int,int); /*函数声明*/ int u,v,h,l; printf(Please two numbers:n); scanf(%d,%d,&u,&v); h=hcf(u,v); l=lcd(u,v,h);int hcf(int u,int v) int t,r; if(vu)

2、 t=u;u=v;v=t; while(r=u%v)!=0) u=v;v=r; return(v);int lcd(int u,int v,int h) return(u*v/h);2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includeint letter,digit,space,others;void main() void count(char); char text80; printf(Please string:n); gets(text); printf(string:n); puts(text); letter=0; digit=0; space=0;

3、others=0; count(text); printf(letter:%d,digit:%d,space:%d,others:%dn,letter,digit,space,others);void count(char str) int i; for(i=0;stri!=0;i+) if(stri=a&stri=A&stri=0&stri=9) digit+; else if(stri=32) space+; else others+;3.输入一个正整数求出它是几位数;输出原数和位数。#includeint digit;void main() void count(char); char

4、text80; printf(Please numbers:n); gets(text); printf(Numbers:n); puts(text); digit=0; count(text); printf(digit:%dn,digit);void count(char str) int i; for(i=0;stri!=0;i+) if(stri=0&stri=9) digit+;4.输入一个正整数,输出原数并逆序打印出各位数字。#includevoid invertLongInt(long);void main() unsigned long iNumber; printf(Plea

5、se a number:n); scanf(%ld,&iNumber); printf(The number is:%ldn,iNumber); printf(The inverse number is:); invertLongInt(iNumber);void invertLongInt(long x) if(x=0&x=9) printf(%dn,x); else printf(%d,x%10); invertLongInt(x/10); 5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。6.从键盘上输入若干学生的一门课成绩,计算出平均

6、分,当输入负数时结束输入。将结果输出。7.求1!+2!+3!+20!,将结果输出。#includevoid main() float s=0,t=1; int n; for(n=1;n=20;n+) t=t*n; s=s+t; printf(1!+2!+3!+20!=%en,s);8.打印以下图案: * * * *#includevoid main() int i,j; printf(The picture is:n); static char picture47= , , ,*, , ,*,*,*, , *,*,*,*,*,*,*,*,*,*,*,*; for(i=0;i=3;i+) for

7、(j=0;j=6;j+) printf(%c,pictureij); printf(n); 9.打印以下图案: *#includevoid main() int i,j; printf(The picture is:n); char picture44=*, *,*, *,*,*,*,*,*,*; for(i=0;i=3;i+) for(j=0;j=3;j+) printf(%c,pictureij); printf(n); 10.求下列试子的值:1-1/2+1/3-1/4+1/99-1/100,将结果输出。#includevoid main() float sum=,t,s=1; int i

8、; for(i=1;i=100;i+) t=s/i; sum=sum+t; s=-s; printf(1-1/2+1/3-1/4+1/99-1/100=%n,sum);11.打印出100999之间的所有水仙花数。#includevoid main() int i,j,k,n; printf(100999之间的所有水仙花数 are:n); for(n=100;n1000;n+) i=n/100; j=n/10-i*10; k=n%10; if(n=i*i*i+j*j*j+k*k*k) printf(%d ,n); printf(n);12.求Sn=a+aa+aaa+aaa之值,n,a由键盘输入。

9、#includevoid main() int a,n,i=1,sn=0,tn=0; printf(a,n=:); scanf(%d,%d,&a,&n); while(i=n) tn=tn+a; sn=sn+tn; a=a*10; +i; printf(a+aa+aaa+aaa=%dn,sn);13.打印以下图案: * * * * #includevoid main() char a7=*,*,*,*,*,*,*; int i,j,k; char space= ; printf(The picture is:); for(i=0;i4;i+) printf(n); printf( ); for

10、(j=1;j=i;j+) printf(%c,space); for(k=0;k7;k+) printf(%c,ak); printf(n);14.打印以下图案: 1 121 12321 123432115. 打印以下图案: 1234321 12321 121 116.编写一个统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。#include#define N 4struct student char num3; char name4; float score2; float avr;stuN;void main() int i,j; float sum

11、,average; for(i=0;iN;i+) /*输入数据*/ printf( scores of student%d:n,i+1); printf(name:); scanf(%s,stui.name); for(j=0;j2;j+) printf(score %d:,j+1); scanf(%f,&stui.scorej); average=0; /*计算*/ for(i=0;iN;i+) sum=0; for(j=0;j2;j+) sum+=stui.scorej; stui.avr=sum/2; average+=stui.avr; average/=N; printf( Name

12、 score1 score2 averagen); for(i=0;iN;i+) printf(%5s%10s,stui.num,stui.name); for(j=0;j2;j+) printf(%,stui.scorej); printf( %n,stui.avr); printf(average=%n,average);17. 打印以下图案: * * * * *#includevoid main() char a5=*,*,*,*,*; int i,j,k; char space= ; printf(The picture is:); for(i=0;i5;i+) printf(n);

13、printf( ); for(j=1;j=i;j+) printf(%c,space); for(k=0;k5;k+) printf(%c,ak); printf(n);18.给出年、月、日,计算该日是该年的第几天。#includevoid main() int sum_day(int,int); int leap(int year); int year,month,day,days; printf( date(year,month,day):); scanf(%d,%d,%d,&year,&month,&day); printf(%d/%d/%d,year,month,day); days=

14、sum_day(month,day); if(leap(year)&month=3) days=days+1; printf(is the %dth day in this year.n,days);int sum_day(int month,int day) int day_tab13=0,31,28,31,30,31,30,31,31,30,31,30,31; int i; for(i=1;imonth;i+) day+=day_tabi; return(day);int leap(int year) int leap; leap=year%4=0&year%100!=0|year%400

15、=0; return(leap);19.求一个3*3的整型矩阵对角线元素之和。将原矩阵和求出的和输出。#includevoid main() float a33,sum=0; int i,j; printf(请输入元素:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%f,&aij); for(i=0;i3;i+) sum=sum+aii; printf(对角线之和是:%n,sum); for(i=0;i=3;i+) for(j=0;j=3;j+) printf(%,aij); printf(n); 20.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均

16、值全部输出。#includevoid main() int a43,s4,i,j,k; for(i=0;i4;i+) for(j=0;j3;j+) scanf(%d,*(a+i)+j); for(i=0;i4;i+) k=0; for(j=0;j3;j+) k+=aij; printf(第%d行的平均值是%d,i+1,k); printf(n); 21.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。#includevoid main() int a43,s4,i,j,k; for(i=0;i4;i+) for(j=0;j3;j+) scanf(%d,*(a+i)+j);

17、for(i=0;i4;i+) k=0; for(j=0;j3;j+) k+=aij; printf(第%d行的平均值是%d,i+1,k); printf(n); 22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。#includevoid main() int a35,s3,i,j,k; for(i=0;i3;i+) for(j=0;j5;j+) scanf(%d,*(a+i)+j); for(i=0;i3;i+) *(s+i)= *(*(a+j); for(j=1;j5;j+) if(*(s+i) *(*(a+i)+j) *(s+i)= *(*(a+i)+j); for

18、(i=0;i3;i+) printf(Line=%d Max=%d,j,sj ); printf(n); 23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。#includevoid main() int a43,s4,i,j,k; for(i=0;i4;i+) for(j=0;j3;j+) scanf(%d,*(a+i)+j); for(i=0;i4;i+) *(s+i)= *(*(a+i); for(j=1;j3;j+) if(*(s+i) *(*(a+i)+j) *(s+i)= *(*(a+i)+j); for(i=0;i4;i+) printf(Row=%d Ma

19、x=%d,i,si ); printf(n); 24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。#include #define N 10#define M 10void main() int a N,i,j,k ,max,m,n; scanf(%d %d,&m,&n); for(i=0;im;i+) for(j=0;jn;j+) scanf(%d,*(a+i)+j); for(i=0;im;i+) for(j=0;jn-1;j+) if(aij=aij+1) max=aij+1; else max=aij; ki=max; for(i=0;im-1;i+) if(ki

20、=ki+1) max=ki+1; else max=ki; printf(%d,max);25.判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。#include #define N 10void main() int aNN,i,j,k,n; scanf(%d,&n); for(i=0;in;i+) for(j=0;jn;j+) scanf(%d,&aij); for(i=0;in;i+) for(j=i+1;jn;j+) if(aij=aji) k=1; else k=0; if(k=0) printf(bushi); else printf(shin); for(i=0;i

21、n;i+) for(j=0;jn;j+) printf(%d,aij);26.有一篇文章,有三行文字,每行有80个字符。要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。#includevoid main() int i,j,big=0,sma=0,num=0,spa=0,oth=0; char text380; for(i=0;i3;i+) printf(请输入行%d:n,i+1); gets(texti); for(j=0;j=A&textij=a&textij=0&textij=9) num+; else if(textij= ) spa+; else oth+; pr

22、intf(大写字母:%dn,big); printf(小写字母:%dn,sma); printf(数字:%dn,num); printf(空格:%dn,spa); printf(其它:%dn,oth);27.将20个整数放到一维数组中,输出该数组的最大值和最小值。#includevoid main() int i,j,min,max,a21; printf(请输入数据:n); for(i=1;i=20;i+) printf(a%d=,i); scanf(%d,&ai); for(i=1;i=19;i+) min=i; for(j=2;jaj); amin=aj; for(i=1;i=19;i+

23、) max=i; for(j=2;j=19;j+) if(amaxaj); amax=aj; printf(最大数为:%dn,amax); printf(最小数为:%dn,amin);28.将15个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。#includevoid main() int i,j,min,max,a16,m,n; printf(请输入数据:n); for(i=1;i=15;i+) printf(a%d=,i); scanf(%d,&ai); for(i=1;i=14;i+) max=i; for(j=2;j=14;j+) if(amax

24、aj); amax=aj; m=I,n=j printf(最大数下标为:%d,%dn,m,n);29.将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。#include #include#define N 10void main() int i,n; char str1N,str2N; gets(str1); for(n=0;nN;n+) i=2*n; str2n=str1i; puts(str1); puts(str2);30.编写一个程序,将两个字符串连接起来,不要使用strcat函数。#includevoid main() char str120,str220; int i=0,j=0; printf(请输入字符串1:n); scanf(%s,str1); printf(请输入字符串2:n); scanf(%s,str2); while (str1i!=0) i+; while (str2j!=0) str1i+=str2j+; str1i

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2