//**1、编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变.**//
#include
main()
{char c;
printf("please input a string:");
while((c=getchar())!='\n')
{ if(c>='A'&&c<='W'||c>='a'&&c<='w') c=c+3;
else if(c>='X'&&c<='Z'||c>='x'&&c<='z') c=(c+3)-26;
printf("%c",c);
}
printf("\n");
return 0;
}
//2.编程实现将任意的十进制整数转换成R进制数(R在2-16之间).//
//十进制数轮换成R进制数:除R取余数,直到商为0,得到的余数即为二进数各位的数码,余数从右到左排列(反序排 列)。//
#include
#include
void main()
{ int i=0,n,R,a[16]={0};
char str[16]="012345678abcdef";
printf("please input n:\n");
scanf("%d",&n);
printf("please input R:\n");
scanf("%d",&R);
if(n<0)
{
printf("%c",'-');
n=-n;
}
while(n!=0)
{
a[i]=n%R;
i++;
n=n/R;
}
while(i-->0)
printf("%c",str[a[i]]);
getche();
}
//3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,
//要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张. //
#include
main()
{ int a1,a2,a3,a4,a5,a6,a7,a8,a9;
float f;
a1=a2=a3=a4=a5=a6=a7=a8=a9=0;
printf("please input a float number:");
scanf("%f",&f);
while(f>=100.0)
{ f=f-100.0;
a1++;
}
while(f>=50.0)
{ f=f-50.0;
a2++;
}
while(f>=10.0)
{ f=f-10.0;
a3++;
}
while(f>=5.0)
{ f=f-5.0;
a4++;
}
while(f>=2.0)
{ f=f-2.0;
a5++;
}
while(f>=1.0)
{ f=f-1.0;
a6++;
}
while(f>=0.1)
{ f=f-0.1;
a7++;
}
while(f>=0.05)
{ f=f-0.05;
a8++;
}
while(f>=0.01)
{ f=f-0.01;
a9++;
}
printf("a1=%d, a2=%d, a3=%d, a4=%d, a5=%d, a6=%d, a7=%d, a8=%d, a9=%d\n", a1,a2,a3,a4,a5,a6,a7,a8,a9);
return 0;
}
//4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和. //
#include
#include
#include
main()
{
int i,r,a[20],sum,max,min;
double ave;
for (i=0;i<20;i++)
{
while(1)
{
r= rand()%51;
if(r>=10)
{
a[i]=r;
break;
}
}
}
for(i=0;i<20;i++)
printf("%d\n",a[i]);
sum=max=min=a[0];
for(i=1;i<20;i++)
{
if(max
max=a[i];
if(min>a[i])
min=a[i];
sum=sum+a[i];
}
ave=sum/20.0;
printf("max=%d,min=%d,sum=%d,ave=%lf\n",max,min,sum,ave);
}
//5、编程在一个已知的字符串中查找最长单词的长度,假定字符串中只含字母和空格,空格用来分隔不同单词.