題目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);
}