一、下列程序的功能是:输入一个英文字母,输出该字母在26个英文字母中的序号。例如,输入‘A’或者‘a’时,输出都是1,输入‘Z’或者‘z’时,输出都是26。已知‘A’的ASCII码值为65,‘a’的ASCII码值为97。
#include<iostream.h>
void main()
{
char ch;
cin>>ch;
if(ch>='A'&&ch<='Z')
ch=ch+32;
cout<<ch-96<<endl;
}
或者
#include<iostream.h>
void main()
{
char ch;
cin>>ch;
if(ch>='a'&&ch<='z')
ch=ch-32;
cout<<ch-64<<endl;
}
二、下列程序的功能是:输入一个三位的八进制整数(100-777之间的数),将其对应的二进制串输出。例如,输入“720”,输出为“111010000”。
#include<iostream.h>
#include<string.h>
void main()
{
int num8;
char str2[8][4]={"000","001","010","011","100","101","110","111"};
cin>>num8;
cout<<str2[num8/100];
cout<<str2[num8%100/10];
cout<<str2[num8%10]<<endl;
}
拓展为四位十六进制
#include<iostream.h>
#include<string.h>
void main()
{
int i;
char str[16][5]={"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"};
cin>>i;
cout<<str[i/1000];
cout<<str[i%1000/100];
cout<<str[i/100/10];
cout<<str[i%10]<<endl;
}
三、下列程序的功能是:读入一个长度在100以内的字符串,求该字符串中各字符的ASCII码之和。例如“ABC”ASCII码之和为198。
#include<iostream.h>
void main()
{
int sum;
char str[100];
cin>>str;
sum=0 ;
for(int i=0;str[i];i++)
sum+=str[i];
cout<<sum<<endl;
}
四、神秘的五位数。有这样一个五位的十进制整数,组成它的5个数字阶乘之和等于他本身。即abcde=a!+b!+c!+d!+e!请写程序搜索这样的5位数,输出找到得所有神秘五位数并统计这样的数共有多少个。
#include<stdio.h>
int main()
{
int JC[] = {1,1,2,6,24,120,720,5040,40320,362880};
int i;
for(i=10000;i<100000;i++)
{
int sum=0;
int x=i;
while(x>0)
{
sum+=JC[x%10];
x /= 10;
}
if(i==sum) printf("%d\n", i);
}
return 0;
}
五、判断一个数是否为素数。
#include<stdio.h>
int main()
{
int i;
int x;
int isprime=1;
scanf("%d",&x);
for(i=2;i<x;i++)
{
if(x%i==0)
{
isprime=0;
break;
}
}
if(isprime==1)
{
printf("%d是素数",x);
}
else
{
printf("%d不是素数",x);
}
return 0;
}