C语言编程经典100例

所需积分/C币:50 2017-08-29 23:46:12 320KB PDF
收藏 收藏
举报

非常全面经典的C语言试题
printf("%-5d, n); printf( "n") 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出902*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的展数k,然后按下述步骤完成 (1)如果这个质数恰等于n,则说明分解质因数的过稈口经结束,打印出即可。 (2)如果n<k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复执行第一步 (3)如果n不能被k整除,则用κ-1作为k的值,重复执行第一步。 程序源代码: /* zheng int is divided yinshu*/ main( int n printf( nplease input a number: \n) canf (%d", &n) printf( %od,n) for(i-2:i<-n: i++) whi le(n!=i) if(n%i==0) printf( %d=k, i) break; rinf(%d",n); 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 6分以下的用C表示。 程序分析:(a>b)?a:b这是条件运算符的基本例子。 2.程序源代码 ino int score char grade printf( please input a score\n") canf("为d",& score); grade=score>=90?A: (score>=60?B:C) printf( od belongs to %c, score, grade) 程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法 2.程序源代码 main( int a, b, numl, num2, temp printf( please input two numbers: \n") scanf(%, %d", &num1, &nun2 if(num1 temp=numl numl=num2 lum2-tcl a=numl b=num2 while(b!=0)/*利用辗除法,直到b为0为止* temp=a% printf (" gongyueshu: %d\n", a) printf( gongbeishu: %d\n", num1:knum2/a) 【程序7】 目:输入一行字符,分別统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用 while语句,条件为输入的字符不为n 2.程序源代码 include stdio. h main ar c int letters=0, space=0, digit=0, others=0 printf( please input some characters\n") while((c=getchar o)!=\n') if(e>-'a'&&c<-'z'c>'A'&&c(-'Z') lett els space++ clse if(c>-0&&c<-9) digit printf( all in all: char=%d space=%d digit=od others=d\n, letters space, digit, others 【程序8】 题日:求s=a+aa+aa+aa+aa.a的值,其中a是一个数字。例如2+22+222+22212222(此时 共有5个数相加),几个数相加有键盘控制。 程序分:关键是计算出每一项的值。 2.稈序源代码 main() int a.n. count=l long i 0,tn=0 printf( please input a and ni\n) scanf( %d, %d", &a, &n) printf( a-%d, n-odi\n", a, n) while(count=n tn=tata sn=satin a-a*10 +count printf(a++,=%1d\n", sn) 【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+23.编程 找出1000以内的所有完数。 程序分析:请参照程序<-上页程序14. 2.程序源代码 ndin ) static int k[10] Int 1,], n for(i=2;j<1000;,j++) n=-1; for(i=l; i f((j%i)=0) n++ kLn」-i printf( od is a wanshu, j) (i-0; i printf(%d, ,kLin) printf("%dn",kn」); 【程序10】 题目:一球从100米高度自由落下,每次洛地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 程序分析:见卜面注释 2.程序源代码 ino float sn=100. 0, hn=sn/2 int n for(n=2;n<=10;n++ sn=sn+2*hn;/第n次落地时共绎过的米数*/ hn=hn/2;/*第n次反跳高度* rintf( the total of road is %f\n", sn) printf( the tenth is %f meter\n, hn 【程序11】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: ldl ( k: printf( \n") for(i=1;i<5;i+) 米以下为三重循环 for(j-1;j<5;j++) for(k-1;k<5;k++) if(i!=k&&!三kj!=k) /*确保i、j、k位互不相同* printf("%d, d, d\n, i, j, k) 【程序12】 题日:企业发放的奖金根据利润提成。利润(I低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%:20万到10万之间时,高于20万元的部分,可提成5%;10万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过10万元的部分按1%提成,从键盘输入当月和润I,求应发放奖金总数? 稈序分析:请利用数轴米分界,定位。汴意定义时需把奖金定义成长整型。 2.程序源代码 maino long int i int bonusl, bonus 2, bonus 4, bonus6, bonus 10, bonus; bonus1=100000*0.1; bonus2= bonus1+10000.75; bonus 1=bonus 2+200000*0.5 bonus=bonus+200000-*0. 3 bonus10= bonus6+40000040.15; if(i<-100000 bonus-i*0. 1 else if(i<=200000 bonus= bonus1+(i-100000)×0.075 clsc if(i<-400000) bonus-bonus2+(i-200000)*0. 05 else if(i<=600000) bonus=bonus+(i-400000)*k0.03 else it'(i=1000000) bonus= bonus6+(i-600000×0.015; lse bonus= bonus10+(i-100000040.01 printf("bonus-%d", bonus) 【程序13】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完仝平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析 2.程序源代码 tincludemath h maino long int i, x,y,Z for(i=1:i<100000;i++) x-sgrt(i+100) x为加上100后开方后的结果*/

...展开详情
试读 91P C语言编程经典100例
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分,得勋章
最新推荐
C语言编程经典100例 50积分/C币 立即下载
1/91
C语言编程经典100例第1页
C语言编程经典100例第2页
C语言编程经典100例第3页
C语言编程经典100例第4页
C语言编程经典100例第5页
C语言编程经典100例第6页
C语言编程经典100例第7页
C语言编程经典100例第8页
C语言编程经典100例第9页
C语言编程经典100例第10页
C语言编程经典100例第11页
C语言编程经典100例第12页
C语言编程经典100例第13页
C语言编程经典100例第14页
C语言编程经典100例第15页
C语言编程经典100例第16页
C语言编程经典100例第17页
C语言编程经典100例第18页
C语言编程经典100例第19页

试读结束, 可继续读1页

50积分/C币 立即下载 >