第1个回答 2009-05-20
#include<stdio.h>
char map[256];
void initmap(){
int dt = 'a'-'A';
int i=0;
for(i=0;i<10;i++){
map['0'+i]='0'+i;
}
map['.']='.';
for(i=0;i<26;i++){
map['a'+i]='a'+i-dt;
map['A'+i]='A'+i+dt;
}
}
void fun(char * s1,char *s2){
int i,dt = strlen(s1);
for(i=0;i<dt;i++){
s2[i] = map[s1[i]];
}
s2[i] = '\0';
}
void main(){
char s[] = "ASDF12345.asdfgSADFasd123123";
char s2[100];
initmap();
fun(s,s2);
puts(s);
puts(s2);
}
第2个回答 2009-05-20
char map[256];
void fun(char * s1,char *s2){
int dt = 'a'-'A';
int i=0;
for(i=0;i<10;i++){
map['0'+i]='0'+i;
}
map['.']='.';
for(i=0;i<26;i++){
map['a'+i]='a'+i-dt;
map['A'+i]='A'+i+dt;
}
dt = strlen(s1);
for(i=0;i<dt;i++){
s2[i] = map[s1[i]];
}
}本回答被提问者采纳
第3个回答 2020-11-12
~~~
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int ne(int x,char str[],int n)
{
for(int i=x+1;i<n;i++)
if(str[i]>='A'&&str[i]<='Z')
return i;
}
int main()
{
char temp;char str[82];
gets(str);int n=strlen(str);
for(int i=0;i<n;i++)
{
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
}
for(int i=0;i<n-1;i=ne(i,str,n))
{
for(int j=ne(i,str,n);j<n;j=ne(j,str,n))
{
if(str[i]>str[j])
swap(str[i],str[j]);
}
}
puts(str);
}
~~~