1、stdio. hchar x, y, z;scanf (%c%c%c, &y, &z);% 3d %. 3o %. 3xn*, x, x, x);prlntf C%. 3d %. 3o %. 3xn*, y, y, y);% 3d %. 3o %. 3xn, z z, z);Problem A:简单的打折计算商店规定:消费满n元,可以打八八折。设某件商品标价m元,输入购买的件数x,计算 出需要支付的金额(单位:元),精确到分。输入只有一行,三个整数m、n和x,且0xmn1000o输出金额,精确到分。334. 40HINT了解浮点型的输出控制,注意整型和浮点型混合运算过程中的数据类型转换。#in
2、clude =n)s=m*x*0. 88;elses=m*x;printf (” 2fs);Problem C:水仙花数如果一个三位十进制数等于其各位数字的立方和,则称这个数为水仙花数。如:13+53+33=153o一个整数 x, 100=x=999。x是水仙花数,则输出YESS否则为“NOSinclude int x, ab, c:%d笃 &x);a=x%10;b=x/10%10;c=x/100;if (a*a*a+b*b*b+c*c*c=x)YES);NO多少张钞票客户去商店买东西时,不超过100美金的账单喜欢用现金支付。商店喜欢用最少的钞票 给付客户的找零。请你编写一个程序帮助商店计算出
3、:当客户买了 x元商品给了一张100 美元的钞票后,商店应该付给客户多少张20美元、10美元、5美元和1美元的钞票,使得 钞票总数最少。假设不存在其他面值的钞票,也不会有几角几分的价格,商店的各种钞票 总是够用的。输入一个整数x, 0 a b, c, d; scanf &s=100-x;a=s/20; b=(s-20*a)/10;c=(s20*a10*b)/5;d=s-20*a-10*bc*5;(320 (3io (” $5 C $1Problem B:自动拨出电话的程序(0532)621-15486008653262115486这是个可以用scaiifO解决的问题,请注意电话号码都是数字这个
4、规律。int a, b, (0%d) &a, &b, &c);0086%d%d%d, a, b, c);/Problem C:求 1+2+. +n=?给定一个n,求出s= l+2+3+.+n的值。输入只有一行,包含一个正整数n(n(double 冷 n;幻fn= (loglO(x)/(loglO(2);printf (int) n);/Problem A:输出是m的倍数或n的倍数、但不是m和n的公倍数的数输出1k之间是m的倍数或ii的倍数、但不是m和n的公倍数的数,其中 l=m,nk m, n, i=0, j;%d %d &k, &for (j=l;j=k;j+)if (j%m=0&j%n!=
5、0) | | (j%m!=O&j%n=O)if(i=l)printf (“T j);printf (“ %d*, j) ;/Problem B: n个数的最大值和最小值找出n个数中最大的数和最小的数,并将它们的值输出出来。输入为n+1个整数,都在int类型范I制内。这些数可能用若干空格或者换行符分隔开。 输入的第1个数为m表示后续有11个数输入。从输入的第2个数开始,求出直到第n+1 个数中最大的数和最小的数。The maximum number is 1The minimum number is -1int i, n, max, min;scanf An, &max);min=max;for
6、(i=l;imax)max=m;if (m#include stdlibh#include string hint n;while (scanf &n)!=EOF)if (n=100)Excellentnelse if (n100)Errornz,);switch (n/10)case 9:Excellentn) ;b:rEak;case 8:Goodnbreak;case 7:printf (“AveragEcase 6:Passbreak:defauIt :Failingreturn 0;/Problem E: A+B Problem (II) : Input/0utput Pratice
7、计算 a+b, 0=a,bint a, b;char i;scanf (,z%d%c%dz,, &i, &if(a=0&b=0&i=32)(switch(i)case + :printf(“dn, a+b); - :printfab); *, a*b);:, a/b);case :printf (“dn, a%b) ; default:printf(invalid opnProblem D:求100以内的素数素数是只能被1和自身整除的正整数,根据数学定义1不是素数。素数也叫质数。输入为两个整数m和m 满足0=m=ii=100。从人到小输出mIl之间的所有素数,一个素数一行。如果m11之间没有素
8、数,则不输出 任何数。输出的所有数在两行“一”之间。2121175利用素数的数学规律可以很容易的解出此题,题目给出的数据范I韦I是关键。 #include =m; i-) k=0;for(j=l; ji; j+)if(i%j=O)k+;if (k=l)printfi);printf (二=);Problem E:十进制整数转二进制给出一个十进制的非负整数x, x=2“,把它转换成二进制数输出。输入为多行,每行一个整数X,至读入EOF结束。每行输出X对应的二进制数值。O133.65535 二 0; m-)if (am =1)k二 m;for (m=k;m=0:m-) printf(“%d, am
9、); printf(n/Problem F:辗转相除法 最大公约数的算法辗转相除法,也称欧几里得算法,是求最人公约数的算法。Input输入为多行,每行有一对非负整数a,b,且a不会超出mt类型的数据范|韦1。输入至EOF 结束。每行输出一对比b的最大公约数和最小公倍数,顺序与输入对应。从数论上的整除定义出发:若a整除b (b除以a没有余数),则b是a的倍数,a是b的约数,这里要求b不为0。因此0是任意整数的倍数,但是0不能是约数。Sample Outputs12 72. int mainO int a, b, c, m, t;while(scanfC%d %db) !=EOF) if(a=0&
10、b!=0)printf (対d b, a);else if(a!=0&b=0)printf (,z%d %dn a, b); if(ab) t二a; a=b; b=t; m=a*b: c=a%b;while(c!=0) a=b; b=c; printf (,z%d %dn, b, m/b) ; 简单的整数排序对给出的若干整数按从小到人排序。输入的第一个数为n (n ,后接n个整数。按从小到人的顺序输出这些整数,每两个整数之间用一个空格分隔开,最后一个整数后面 没有空格。10 39152856731233556789int i, j, n, t; int a1000;for(i=0;ai);fo
11、r (i=l;for(j=0;n-l;if(ajaj+ll)aj=aj+l;aj+l=t; if(i=n-l)printf (“%d, ai);printf (“%d ,z, ai);兔子的繁殖问题假设一对兔子每月能生一对小兔(一雌一雄),每对小兔出生后的下一个月是没有繁殖能 力的,至出生后的第三个月开始又可以每月生一队小兔,问从一对刚出生的小兔开始,经 过若干个月后一共有多少兔子(假设在此过程中兔子没有死亡)?输入的第一个数为n,接下来有n个数字。每个数字为一个月份m (m0, step 不为 0。把这个等差序列输出在一行里,序列两数之间用一个空格分隔。start 二 1, step = 2
12、, times = 10013 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 4951 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 9597 99 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165167 169 171 173
13、 175 177 179 181 183 185 187 189 191 193 195 197 199Append Codechar d100,b100,c100;int a1000;start = %d, step = %d, times = ,&i,&j, &k);for(n=0;k;n+)an=i+j*n;if(n=kl)printf a n);printf (,z%d , an);/Problem D:产生等差序列之二根据给出的初始数、公差和终止条件求等差序列。输入为一行,格式见sampleo其中,start为初始数,step为公差,end为终止条件。满足, step不为0,并且start和end的大小关系与step的方向一致。end不一定是序列的最后一个 数。st art = 1, step
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1