1、printf(去掉一个最高分,去掉一个最低分n选手最后得分为:%d,ave);return 0;void sort (int *p) int i,j,t;for(i=0;for(j=i+1;j*(p+j) t=*(p+i);*(p+i)=*(p+j);*(p+j)=t;void init( int *p) int i;printf(请输入评委所给出的分数:);scanf(,p+i); , 从键盘中输入一个数字(可以包含小数点,其位数在60位以下,求其整数的有效位数,如输入0123.456,返回值为整数有效位数为3) 1) 输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能。2
2、) 使用数组来进行编程。#includei=i*10) f=num/i;j+;数的位数为n%d,j);, 使用数组,编写一个十进制正整数转换为任意进制数的转换工具。(大进制向小进制的转换。(方法是相除去余) 10进制327转八进制:327/8 , 40 余数为7 40/8 , 5 余数为0 于是八进制数为507(第一位5是最后的商) , 使用数组,编写一个任意进制正整数转换为十进制的转换工具。(以2,10进制互转为例,其他请举一反三:二进制数1101转十进制:12的三次幂,12的二次幂,02的一次幂,12的零次幂,8,4,0,1,13) , 10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数
3、为12,2,8,22,16,4,10,6,14,20。然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块。, 编写一个函数,用以求x2-5x+4的值,x做为函数的形参,调用此函数,求: y1= 22-52+4 Y2=(x+15)2-5(x+15)+4 Y3=(sinx)2-5sinx+4 sinx 可以加载”math.h” 库函数后使用,函数说明为 double sin( double x) , 编写一个函数,使给定的一个二维数组(NN)行列互换(N3)。, 从键盘中输入一个不超过40个字符的
4、字符串,再输入一个位数,删除对应 位数的字符,然后输出删除指定字符后的字符串 要求:1) 用puts输出指示信息 2) 用gets接收字符串 , 如果有一个正整数从左、右来读都是一样的,则称为回文式数(简称回数);比如101,32123,999都是回数。数学中有名的“回数猜想”之迷,至今未解决。回数猜想: 任取一个数,再把它倒过来,并把这两个数相加,然后把这个和数再倒过来,与原和数相加,重复此过程,一定能获得一个回数。例: 68 倒过来是 86 68+86= 154 154+541= 605 605+506=1111 (回数) 编程,输入任意整数,按上述方法产生一个回数,为简便起见,最多计算7
5、步,看是否能得到一个回数。主函数中接收键盘数据,必须用scanf(“%ld”,&变量名)接收整型变量, 显示该数与其倒数的和,输出每一步计算步骤。子函数1,计算该数的倒数。子函数2,验证和是否为回数, 是则主函数打印“经过n次计算,得到回数”,超过7次未能得到回数,显示,“经过n次计算,未得到回数” , 求Sn=a+aa+aaa+-+aaaaaaa(n个a),其中a和n都从键盘中输入,如从键盘中输入2,5,则计算S5=2+22+222+2222+22222。#include stdio.hvoid main() int a,n,i=1;long s=0,t=0;a=a);n=n);while(
6、i=n) t=t+a;s=s+t;a=a*10;+i;sum=%d,s);, 两个乒乓球队进行比赛,各出三人。甲队为A,B,C三人,乙队为X,Y,Z三人。已抽签决定比赛名单,有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,编程找出三对选手的对手名单。注:使用穷举法 #includeint main() int i,j,k;=3;+i) for(j=1;+j) for(k=1;k0 1) 写出递归函数的原型 2) 编写程序 , 4 用递归法将一个整数转换成字符形式输出。例如输入483,应输出字符串“483”。 其程序如下,请验证,并修改程序,增加显示出输入数字的位数的功能,并使输出
7、结果与下图一致。 void convert(long n) long i;if (i=n/10)!=0) convert(i);putchar(n%10+0main() long number;%ldnumber);if ( number0) putchar(- number= -number;convert (number);, 利用以下公式,编程计算的值,直到最后一项的绝对值( 用函数fabs() )小于0.0001为止。,111 ,,,,1.【程序1】 4357题目:有1、2、3、4个数字能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序分析:可填在百位、十位、个位的数字都是
8、1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码:conio.hint i,j,k;n5;i+) /*以下为三重循环*/ for(j=1;for (k=1;k+) =k&i!=j&j!=k) /*确保i、j、k三位互不相同*/ %d,%d,%dn,i,j,k);getch();= 【程序2】 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时奖金可提10%,利润高 于10万元低于20万元时低于10万元的部分按10%提成高于10万元的部分可可提 成7.5%,20万到40万之间时高于20万元的部分可提成5%,40万到60万之间时高于 40万元的部分可提成3%,60万
9、到100万之间时高于60万元的部分可提成1.5%高于 100万元时超过100万元的部分按1%提成从键盘输入当月利润I求应发放奖金总数, 1.程序分析:请利用数轴来分界定位。注意定义时需把奖金定义成长整型。 2.程序源代码:long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;i);bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i=10
10、0000) bonus=i*0.1;else if(i2) /*如果是闰年且月份大于2,总天数应该加一天*/ sum+;It is the %dth day.,sum);=【程序5】 题目:输入三个整数x,y,z请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到x上先将x与y进行比较如果xy则将x与y的值进行交换 然后再用x与z进行比较如果xz则将x与z的值进行交换这样能使x最小。int x,y,z,t;%d%d%dx,&y,&z);if (xy) t=x;x=y;y=t; /*交换x,y的值*/ if(xz) t=z;z=x;x=t; /*交换x,z的值*/ if(yt=y;
11、y=z;z=t; /*交换z,y的值*/ small to big: %d %d %dn,x,y,z);=【程序6】 题目:用*号输出字母C的图案。可先用*号在纸上写出字母C再分行输出。Hello C-world! *n *n * n=【程序7】 题目:输出特殊图案请在c环境中运行看一看Very Beautiful!字符共有256个。不同字符图形不一样。char a=176,b=219;%c%c%c%c%cn,b,a,a,a,b);,a,b,a,b,a);,a,a,b,a,a);= 【程序8】 输出9*9口诀。分行与列考虑共9行9列i控制行j控制列。int i,j,result;result=
12、i*j;%d*%d=%-3d,i,j,result); /*-3d表示左对齐占3位*/ /*每一行后换行*/ 【程序9】 要求输出国际象棋棋盘。用i控制行j来控制列根据i+j的和的变化来控制输出黑方格还是白方格。int i,j;8;for(j=0;if(i+j)%2=0) %c%c,219,219); 【程序10】 打印楼梯同时在楼梯上方打印两个笑脸。用i控制行j来控制列j根据i的变化来控制输出黑方格的个数。11n /*输出两个笑脸*/ 11;=i;.:经典c程序100例=11-20 :. 经典c程序100例=11-20 【程序11】 古典问题:有一对兔子从出生后第3个月起每个月都生一对兔子小
13、兔子长到第三个月 后每个月又生一对兔子假如兔子都不死问每个月的兔子总数为多少, 兔子的规律为数列1,1,2,3,5,8,13,21. long f1,f2;f1=f2=1;=20;%12ld %12ld,f1,f2);if(i%2=0) printf( /*控制输出每行四个*/ f1=f1+f2; /*前两个月加起来赋值给第三个月*/ f2=f1+f2;【程序12】 判断101-200之间有多少个素数并输出所有素数。判断素数的方法:用一个数分别去除2到sqrt(这个数)如果能被整除 则表明此数不是素数反之是素数。int m,i,k,h=0,leap=1;for(m=101;m=200;m+) k=sqrt(m+1);for(i=2;=k;if(m%i=0) if(leap) %-4d,m);h+;if(h%10=0) nThe total is %d,h);=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1