文档详情

编程题222.docx

发布:2017-05-27约2.13万字共74页下载文档
文本预览下载声明
01、从键盘输入三个整数a、b、c,输出其中最大的数。#include stdio.hint main(){int a,b,c,max; scanf(%d %d %d,a,b,c); if(ab) {if(ac)max =a;} else {if(bc) max =b; else max =c; } printf(%d\n, max);}2、为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式: 输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式: 在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:cost = 应付电费值;若用电量小于0,则输出Invalid Value!。#include stdio.hint main() {double i;scanf(%lf, i);if(i 0){printf(Invalid Value!\n);}else if(i = 50){printf(cost = %.2f\n, 0.53 * i);}else{printf(cost = %.2f\n, 0.53 * 50 + (i - 50) * 0.58);}return 0;}3、求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3 ,则153是一个“水仙花数”。#includestdio.hint main(){ int i,j,k; for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++) if(100*i+10*j+k==i*i*i+j*j*j+k*k*k) printf( %d,100*i+10*j+k); printf(\n);}#include stdio.h void main(void) {int i,j,k,n; printf( 水仙花数是: ); for(n=100;n1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) printf(\n%d,n); }}4、找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等。#include stdio.hint main(){ int i; for(i=0;i1000;i++) { if((i%10==3||i%10==7)i/10%10==1) printf(%d ,i); } return 0;}5、输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。#includestring.h#includestdio.hint main(){ char a[80],b[80]; int i,n,j=0; gets(a); n=strlen(a); for(i=n-1;i=0;i--) b[j++]=a[i]; b[j]=\0; strcpy(a,b); puts(a); return 0;}6、有人想将手中一张面值100元的人民币换成5元、1元、0.5元面值的零钱100张,以上三种面值的零钱至少有一张,输出每种换法中各种面值零钱的张数。#includestdio.hint main(){int i,j,k,c=0;for(i=1; i20; i++)for(j=1; j95; j++){k=100-i-j;if(i*5+j+0.5*k==100){c++;printf(%d %d %d\n,i,j,k);}}}7、根据公式编写计算排列数的程序,(要求:利用子函数实现阶乘的计算,分别用迭代法和递归法实现,并调用其中的一个子函数实现公式的计算)迭代法:#includestdio.hint str(int m ,int n);main() { int n,m,jieguo;printf(请输入m的值:);scanf(%d,m)
显示全部
相似文档