c语言乘积imnl,C语言程序设计练习题含程序及参考答案

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

1、C语言练习题(所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参考使用)1定义一个函数intfun(inta,intb,intc),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回 2,若能构成一般三角形函数返回1, 若不能构成三角形函数返回0。#in cludec&b+ca&a+cb)if(a=b&b=c)return3;elseif(a=b|b=c|a=c)return2;elseretur n1;elseretur n0;voidmai n()in ta,b,c,shap。

2、e;prin tf(nl nputa,b,c:);scan f(%d%d%d,&a,&b,&c);prin tf(na=%d,b=%d,c=%dn,a,b,c);shape=fu n( a,b,c);prin tf(nn Theshape:%dn,shape);2、编写一个程序,将两个变量的值交换,例如变量a中的值原为3, b中的值原为8,程序运行后a中的值为8,b中的值为3。#include voidfun(float*p,float*q,float*s)floatk;if(*p#include #includevoidfun(longs,long*t)intd;longs1=1;*t=0;。

3、while(s0)d=s%10;if(d%2!=0)*t=d*s1+*t;s1=s1*10;s/=10;main()longs,t;printf(nPleaseenters:);scanf(%ld,&s);fun(s,&t);printf(Theresultis:%ldn,t);k的值从键盘传7、计算并输出k以内最大的10个能被13或17整除的自然数之和 入,若k的值为500,则输出4622。#include=1)&(mc#includeintfun(intm)inti,k;for(i=m+1;i+)for(k=2;k=i)return(i); voidmain()intn; printf(n。

4、Pleaseentern:); scanf(%d,&n); printf(%dn,fun(n);10、判断两个整数m和n是否互质(即是否有公共的因子)(讨1, n 1)。方法 是:用2到t (t取mffin中较小的那个数)之间的数分别去除mffin,若miffin能同时 被某个数除尽,则m和n不互质;否则它们互质。例如,若输入187和85,则应输出No (表示它们不互质,它们有公因子17)。若 输入89和187,则应输出Yes (表示它们互质)。#includen)t=n;for(k=2;k voidTrans(intm,intk)intaa20,i , j; for(i=0;m;i+) aa。

5、i=m%k;m/=k;for(j=i-1;j=0;j-)printf(%d,aaj);voidmain() intb,n; printf(nPleaseenteranumberandabase:n);scanf(%d%d,&n,&b);Trans(n,b);12、统计从键盘输入的 50 个实数中有多少个正数、多少个负数、多少个零 #include0) (*zs)+;if(aaivoidfun()intx,y;for(x=1;x intfun(intaa)intm,i;m=aa0; for(i=1;im) m=aai;returnm;voidmain()intnum10,i;printf( “请。

6、从键盘输入 10个整数 :n ”); for(i=0;ivoidfu n(i ntn)in ti,j;for(i=1;ifloatfun(intn)floatA=1;inti; for(i=1;i3;例如,若输入整数 9,则应输出: 47。(不用做)*18、使用函数的方式,按以下递归公式求函数值厂 10( n=1)fun(n)= |L fun(n-1)+2( n1)例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14(不用做)为止19、计算并输出当0#include=/* 绝对值是否合格 */xn=xn*x*+1)/n;/* 表达式分解以后 xn=(xn-1)*x*+1)/n*/ 。

7、n+=1;sn+=xn;/*sn 累加上 xn*/returnsn;voidmain()doublex,s;printf(Inputx:);scanf(%lf,&x);s=fun(x);printf(s=%fn,s);20、计算并输出 s。xA2xA3xAnS=1+X +2!3!n!n,x从键盘输入,例如,当n=10, 乂=时,函数值为。 #include intfun(inthigh)intsum=0,n=0,j,yes;while(high=2)&(ndoublefun(intn)inti;doublesum=;if(n0&n#defineN20fun(int*a,intn,int*odd。

8、,int*even)inti,sum_odd=0,sum_even=0;for(i=0;i#includec&b+ca&a+cb)printf( “三角形面积为 :%.2f ”,fun(a,b,c);elseprintf( “无法构成三角形” );25、编写程序,求E=1+1/1! +1/2 ! +1/n!,要求最后一项的值小于10-4#include=1E-4);returnm;voidmain()intn;doubles;printf(Inputn:);scanf(%d,&n); s=fun(n);printf(s=%fn,s);26、计算并输出给定数组(长度为 9)中每相邻两个元素之平均。

9、值的平方根之和s=。例如,给定数组中的 9 个元素依次为、,输出应为: #include doublefun(doublex9)inti;doubleavg=,sum=;for(i=0;i #defineM100 voidfun(intm,int*a,int*n) inti,count=0; for(i=1;i#include=0)&(ch #defineN20 fun(int*a,intn,intx) intp=0,i; an=x;while(x!=ap)p=p+1;if(p=n)return-1;elsefor(i=p;i #defineM20 voidInSort(int*n,intvv。

10、,intk)inti=0,j;while(kvviⅈj-)vvj=vvj-1;vvi=k;+*n;voidmain()intaaM,i,k,m;system(cls); printf(nPleaseenteranumber:n);scanf(%d,&m);printf(nPleaseenter%dnumbers:n,m);for(i=0;i voidfun(int*pt)inti,j,flag;*pt=2;*pt+; for(i=3;ivoidfun(inta,intb)inti;for(i=1;ivoidfun(int(*s)10,int*b,int*n,intmm,intnn)int。

11、x,y;for(x=0;x#defineM4#defineN5intfun(intaMN)inti,j,sum=0;for(i=0;i#defineM3#defineN4voidfun(intttMN,intppN)inti,j,min;for(i=0;ittji)min=ttji;ppi=min;voidmain()inttMN=22,45,56,30,19,33,45,38,20,22,66,40;intpN,i,j,k;system(cls);printf(Theoriginaldatais:n);for(i=0;i voidfun(inta33,intb33)inti,j; for(i。

12、=0;i#defineN80voidfun(char*a,intk,intn)inti;i=k;while(ai-1!=0)ai=ai+n;i=i+1;voidmain()charsN=HellolloWorld!;intk,n; printf(nTheoriginalstring:%sn,s); printf(Enterindex k:),scanf(%d,&k); printf(Enternumbertodelete n:);scanf(%d,&n); fun(s,k,n);printf(nThestringafterdeleted:%sn,s);NONO();39、编写程序,从键盘输入字。

13、符串 tt ,将其中每个单词的首字符改为对应的大 写字母,首字符后的字母都改为对应的小写字母。例如,若输入字符串:abcDbOYxy!,则输出字符串为:AbCdBoyxy!。#includechar*EXUL(chartt)intisfirst=1;inti,length;length=strlen(tt);for(i=0;i=a&tti=A&ttivoidfun(char*tt,intpp)char*p_tt=tt;inti=0;while(i #include #include voidfun(char*s)inti,j;for(i=0,j=0;si!=0;i+) if(si=0&si #。

14、include#defineM3#defineN20voidfun(charaMN,char*b)inti,j,d=0;for(i=0;i #defineN80intfun(char*str)intb=1,n,i;n=strlen(str);for(i=0;in/2;i+)if(stri!=strn-1-i)b=0;break;if(i=n/2)b=1;returnb;voidmain()charsN;printf(Enterastring:);gets(s);printf(nn);puts(s);if(fun(s)printf(YESn);elseprintf(NOn);*47、已知学生的记录由学号和学习成绩构成,输入N名学生的数据,存入a结构体数组中。并输出成绩最高的学生记录。(不用做)*48、已知学生的记录由学号和学习成绩构成,将 N 名学生的成绩放入一个带头 节点的链表结构中, h 指向链表的头节点,找出学生的最高分。(不用做)*49、学生的记录由学号和成绩组成,输入 N 名学生的数据放入结构体数组 s 中,把分数最低的学生数据放在 h 所指的数组中,注意:分数最低的学生可能 不止一个。(不用做)*50、统计person所指结构体数组中所有性别(sex )为M的记录的个数,存入 变量 n 中(不用做。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值