ImageVerifierCode 换一换
你正在下载:

C语言.docx

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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言.docx

1、C语言各位同学,这是上机考试的最终题目上机考试答题要求:1. 数据的输入和输出功能在main( )函数中完成;2. 题目的其它功能要求学生编写函数完成,可以编写多个函数;3. 在main( )调用编写的函数来完成题目要求的功能;1 输入一个正整数,把各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数。 例如若输入一个正整数 27638496,得到结果为 739。 #include void fun(unsigned long *n) unsigned long x=0, i; int t; i=1; while(*n) t=*n % 10; if(t%2!= 0) x=x+t

2、*i; i=i*10; *n =*n /10; *n=x; main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n); fun(&n); printf(nThe result is: %ldn,n); 解题思路: 第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。 第二处:判断是否是奇数,所以应填:0。 第三处:最后通形参n来返回新数x,所以应填:x。 2 输入一个正整数,把各位上为奇数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数。

3、 例如若输入一个正整数 27638496,得到结果为 26846。 #include void fun(unsigned long *n) unsigned long x=0, i; int t; i=1; while(*n) t=*n % 10; if(t%2=0) x=x+t*i; i=i*10; *n =*n /10; *n=x; main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n); fun(&n); printf(nThe result is:

4、 %ldn,n); 3 输入由数字字符组成的字符串,将其转换成为一个整数。例如若输入字符串3425,得到结果为整数值3425。#include #include long fun ( char *p) int len, t; long x=0; len=strlen(p); if(p0=-) t=-1; len-; p+; else t=1; while(*p) x = x*10-48+(*p+); return x*t; main() char s6; long n; printf(Enter a string:n) ; gets(s); n = fun(s); printf(%dn,n);

5、 4 输入一个正整数,将其转换成字符串。例如若输入整数值3425,转换后得到字符串3425。#include void func(int number) int digit,power,i=0; char str20; if(0number) printf(输入的数字串有误,要输入一个正整数n); else power=1; while(100000=1) digit=number/power; stri=digit+48; number%=power; power/=10; i+;stri=0;printf(%sn,str); void main() int number; printf(输

6、入一个正整数:n) ;scanf(%d,&number);func(number); 5 输入一个字符串,依次取出字符串中所有的数字字符, 形成新的字符串, 并取代原字符串。例如若输入字符串as3r3fd6gf25,得到结果为字符串33625。#include void fun( char *s) int i,j; for(i=0,j=0; si!=0; i+) if(si=0 & si=9) sj+=si; sj=0; void main() char item80; printf(nEnter a string : );gets(item); printf(nThe string is :

7、%sn,item); fun(item); printf(nThe string of changing is : %sn,item ); 6 输入一行英文表达语句,统计其中单词的个数。规定所有单词由小写字母组成,单词之间由若干个空格隔开。例如若输入字符串 it is a book ,得到结果为 4。#include int fun(char a)int i,num=0,word=0;char c;for(i=0;(c=ai)!=0;i+)if(c= )word=0;else if(word=0)word=1;num+;return num; main()char s100;printf(in

8、put:);gets(s);printf(%dn,fun(s);return 0;7 输入若干(不超过100个)学生成绩,规定如果输入的数据为0则表示输入结束,输出其中不及格的成绩和不及格人数所占的百分比。#includevoid li(int *str)int i=1;float j=0.0,s;while(*(str+i)!=0) if(*(str+i)=0&*(str+i)=60) printf(第%d个同学不及格,成绩:%n,i,*(str+i);j+; i+;s=j/(i-1);printf(不及格率为:%.2f%cn,100*s,37);void main() int str100

9、; int i; for(i=1;i=100;i+) printf(请输入第%d个同学的成绩n,i); scanf(%d,&stri); if(stri=0) break; li(&stri);8 输入若干(不超过100个)学生成绩,规定如果输入的数据为0则表示输入结束,输出其中成绩最高的前10名学生的成绩。#includevoid main() void fun(int x,int n); int a100,i,n=0; printf(输入学生成绩:); for(i=0;i100;i+) scanf(%d,&ai); if(ai=0)break; n+; fun(a,n); printf(成

10、绩最高的10名学生的成绩(以空格隔开):); for(i=0;i10;i+) printf(%d ,ai); putchar(n);void fun(int x,int n) int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(xkxj) t=xk;xk=xj;xj=t; 9 输入若干(不超过100个)学生成绩,规定如果输入的数据为0则表示输入结束,输出其中成绩最低的后10名学生的成绩。 #includevoid main() void fun(int x,int n); int a100,i,n=0; printf(输入学生成绩:);

11、 for(i=0;i100;i+) scanf(%d,&ai); if(ai=0)break; n+; fun(a,n); printf(成绩最低的10名学生的成绩:); for(i=0;i10;i+) printf(%d ,ai); putchar(n);void fun(int x,int n) int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jxj) t=xk;xk=xj;xj=t; 10 输入若干(不超过50个)有序的正整数,对于相同的数据只保留一个,输出保留的数据。例如,输入数据是: 2,2,2,3,3,4,5,5,6,6,9,9,9,10,

12、10,10 最终的输出结果是: 2,3,4,5,6,9 ,10 #include #define N 80 int fun(int a, int n) int i, j = 1, k = a0 ; for(i = 1 ; i n ; i+) if(k != ai) aj+=ai ; k = ai ; aj = 0 ; return j ; void main( ) int aN=2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10,i,m,n=0; printf(The original data :n); for(i=0; ai!=0; i+) printf

13、(%3d,ai); n+;m=fun(a,n); printf(nnThe data after deleted :n); for(i=0;im;i+) printf(%3d,ai); printf(nthe number is %dn,m); 11 输入一个字符串和一个正整数m,移动字符串中的内容,移动的规则如下: 把从左边起第1到第m个字符平移到字符串的右边, 把其余的字符统一向左移动。 例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。#include #include #define N 80 void

14、fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置 */ int i; char t; t=w0; for(i=0;istrlen(w)-1;i+) wi=wi+1; wstrlen(w)-1=t; void fun(char *w, int m) /* 可调用fun1函数左移字符 */ int i; for(i = 0 ; i m ; i+) fun1(w); void main( ) char aN=ABCDEFGHIJK; int m; printf(The original string:n); puts(a); printf(nnEnter m: ); s

15、canf(%d,&m); fun(a,m); printf(nThe string after moving:n); puts(a); printf(nn); 12 输入一个字符串和一个正整数m,移动字符串中的内容,移动的规则如下: 把从右边起第1到第m个字符平移到字符串的左边, 把其余的字符统一向右移动。 例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: IJKABCDEFGH。#include #include #define N 80 void fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置 */

16、int i; char t; t=wstrlen(w)-1; for(i=strlen(w)-1;i0;i-) wi=wi-1; w0=t; void fun(char *w, int m) /* 可调用fun1函数左移字符 */ int i; for(i = 0 ; i m ; i+) fun1(w); void main( ) char aN=ABCDEFGHIJK; int m; printf(The original string:n); puts(a); printf(nnEnter m: ); scanf(%d,&m); fun(a,m); printf(nThe string a

17、fter moving:n); puts(a); printf(nn); 13 输入10个数,找出其中最大数和次最大数,并把最大数和次最大数放在第一和第二的位置上,其余数据依次向后移动,输出调整后的结果。#includevoid func(int *str) int i=0,j=0,m,n=0; for(n=0;n2;n+) m=strn; for(i=n;i10;i+) if(m0;i-) stri=stri-1; strn=m; for(i=0;i10;i+)printf(%d ,stri);void main() int str10,i; printf(请输入十个整数(以空格隔开):n)

18、; for(i=0;i10;i+) scanf(%d,&stri); printf(结果为:n); func(str); 14 输入10个数,找出其中最小数和次最小数,并把最小数和次最小数放在第一和第二的位置上,其余数据依次向后移动,输出调整后的结果。#includevoid func(int *str) int i=0,j=0,m,n=0; for(n=0;n2;n+) m=strn; for(i=n;istri) m=stri;j=i; for(i=j;i0;i-) stri=stri-1; strn=m; for(i=0;i10;i+)printf(%d ,stri);void main

19、() int str10,i; printf(请输入十个整数(以空格隔开):n); for(i=0;i10;i+) scanf(%d,&stri); printf(结果为:n); func(str); 15 请使用函数的递归调用编写求阶乘的函数,并计算1!+2!+3!+4!+5!#includeint main() int fac(int n); int i,sum=0; for(i=1;i=5;i+) printf(%d!=%dn,i,fac(i); for(i=1;i=5;i+) sum+=fac(i); printf(求和结果%dn,sum); return 0;int fac(int

20、n)static int f=1;f=f*n;return(f);16 输入一个44的矩阵,把该矩阵转置后输出。#include#includeint fun(int array33) int i,j,t;for(i=0;i2;i+)for(j=i+1;j3;j+)t=arrayij;arrayij=arrayji;arrayji=t;main() int i,j;int array33=100,200,300,400,500,600,700,800,900;viod clrscr();for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf

21、(n);fun(array);printf(Converted array:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);17 输入一个字符串,把其中所有的字母字符转换为按字母序列的后续字母(a转换为b, b转换为c, z转换为a,大写字母规律相同),其它字符不变,输出转换后的结果。 #include #include void fun (char *s) while(*s) if(*s=A & *s=a & *s=z) if(*s=Z) *s=A; else if(*s=z) *s=a; else *s += 1;

22、s+; main() char s80; printf(n Enter a string with length 80. :nn ); gets(s); printf(n The string : nn ); puts(s); fun ( s ); printf (nn The Cords :nn ); puts(s); 18 输入10个数据和一个整数m,把输入的10个数据依次向右移动 m次。例如输入的数据为: 1,2,3,4,5,6,7,8,9,10,m的值为3,则移动后的数据为: 8,9,10,1,2,3,4,5,6,7。 #include #define N 80 void fun(in

23、t *w, int p, int n) int i, j = 0, bN ; for(i = n-p; i10 ; i+) bj+ = wi ; for(i =0 ; i n-p ; i+) bj+ = wi ; for(i = 0 ; i n ; i+) wi= bi ; main() int aN=1,2,3,4,5,6,7,8,9,10; int i,p,n=10; printf(The original data:n); for(i=0; in; i+)printf(%3d,ai); printf(nnEnter p: );scanf(%d,&p); fun(a,p,n); print

24、f(nThe data after moving:n); for(i=0; in; i+)printf(%3d,ai); printf(nn); 19 输入10个数据和一个整数m,把输入的10个数据依次向左移动 m次。例如输入的数据为: 1,2,3,4,5,6,7,8,9,10,m的值为3,则移动后的数据为: 4,5,6,7,8,9,10,1,2,3#include #define N 80 void fun(int *w, int p, int n) int i, j = 0, bN ; for(i = p; i n ; i+) bj+ = wi ; for(i = 0 ; i = p ;

25、i+) bj+ = wi ; for(i = 0 ; i n ; i+) wi= bi ; main() int aN=1,2,3,4,5,6,7,8,9,10; int i,p,n=10; printf(The original data:n); for(i=0; in; i+)printf(%3d,ai); printf(nnEnter p: );scanf(%d,&p); fun(a,p,n); printf(nThe data after moving:n); for(i=0; in; i+)printf(%3d,ai); printf(nn); 20 输入一个字符串,把其中的空格都删除,例如输入 as d a f aa z67 , 则输出为 asdafaaz67。#include #include int fun(char *str) char *p = str ; int i = 0 ; while(*p) if(*p != ) stri+ = *p ; p+ ;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1