题目25:编程实现对键盘输入的英文句子进行加密。加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变。
#include<stdio.h>
main(){
char ch;
printf("请输入一段内容:/n");
while((ch=getchar())!='/n'){--->在ch=getchar()中没加括号,导致错误
if((ch>='a' && ch<='w')||(ch>='A' && ch<='W'))
{
ch=ch+3;
}
if((ch>='x' && ch<='z')||(ch>='X' && ch<='Z'))
{
ch=ch+3-26;
}
printf("%c",ch);
}
printf("/n");
}
题目26:从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。
#include<stdio.h> main(){ double dnum;//double类型的输入 int inum;//int类型的输入 int temp,temp1;//两个临时变量,为除2方便使用 int bai,shi,yuan,yu_jiao,yu_fen;//百元,十元,角,分 double yu;//yu=dnum-inum int yu_int;//yu*100后强制转换成int型 printf("Please input a num:/n");//注意printf,scanf参数的使用 scanf("%lf",&dnum); printf("The word input is:%g/n",dnum); inum=(int)dnum; printf("The word exchange to:%d/n",inum); //处理需要100元面值多少张 bai=inum/100; printf("需要100元面值%d张/n",bai); //处理需要10元面值多少张 shi=(inum/10)%10; if(shi>=5){ printf("需要50元面值1张/n"); temp=shi-5; if(temp==0) printf("需要10元面值0张/n"); else printf("需要10元面值%d张/n",temp); } else printf("需要10元面值%d张/n",shi); //处理需要1元,2元,5元面值多少张 yuan=inum%10; if(yuan>=5){ printf("需要5元面值1张/n"); temp=yuan-5; if(temp==0) printf("需要1元,2元面值0张/n"); else{ temp=temp/2; temp1=yuan-5-temp*2; printf("需要2元面值%d张/n",temp); printf("需要1元面值%d张/n",temp1); } } else if(yuan/2>0 && yuan<5){ temp=yuan/2; printf("需要2元面值%d张/n",temp); if(yuan==temp*2) printf("需要1元面值0张/n"); else printf("需要1元面值1张/n"); } else printf("需要1元面值1张/n"); yu=dnum-inum; if(yu==0) printf("5角,1角,5分,1分均为0张/n"); else { //处理需要1角,5角面值多少张 yu=yu*100; yu_int=(int)yu; yu_jiao=yu_int/10; if(yu_jiao>=5){ printf("需要5角面值1张/n"); yu_jiao=yu_jiao-5; printf("需要1角面值%d张/n",yu_jiao); } else printf("需要1角面值%d张/n",yu_jiao); //处理需要1分,5分面值多少张 yu_fen=yu_int%10; if(yu_fen>=5){ printf("需要5分面值1张/n"); yu_fen=yu_fen-5; printf("需要1分面值%d张/n",yu_fen); } printf("需要1分面值%d张/n",yu_fen); } } 题目27:随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。 产生随机数的方法:
#include <stdlib.h> //标准工具库,要用到其中的rand() #include <stdio.h> #include<conio.h> #include <time.h> //时间库,要用到里面的时间来做随机数的种子 srand((int)time(NULL));设定随机数种子 rand()%100;产生0-99的随机数。高级点的,假如要产生16-59之间的数,你可以这样写:rand()%44+16(这里44由59 -16+1得到)。其他情况如法炮制!
#include <stdlib.h> //标准工具库,要用到其中的rand() #include <stdio.h> #include<conio.h> #include <time.h> //时间库,要用到里面的时间来做随机数的种子 main(){ int a[20]; int i; int max,min,temp_max,temp_min; double sum=0; srand((int)time(NULL)); for(i=0;i<20;i++){ //设定随机数种子 a[i]=rand()%41+10; //产生0-99的随机数。高级点的,假如要产生16-59之间的数,你可以这样写:rand()%44+16(这里44由59-16+1得到)。其他情况如法炮制! printf("%d",a[i]);//因为没加"%d",运行时出现错误 printf("/n"); } for(i=0;i<20;i++){ sum+=a[i]; } sum=sum/20; printf("The average number is:%g/n",sum);//不止一次出现的问题,使用printf要注意输出参数的使用 max=a[0],min=a[1]; for(i=0;i<20;i++){ if(max<a[i]){//求出最大的值 temp_max=max; max=a[i]; a[i]=temp_max; } if(min>a[i]){ temp_min=min; min=a[i]; a[i]=temp_min; } } printf("The maximum number is:%d/n",max); printf("The minimum number is:%d/n",min); }