| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1304 人关注过本帖
标题:C的一道题,不知道我写成这样行不,还有没有更好的办法,谢谢了
只看楼主 加入收藏
punish
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-2-9
收藏
 问题点数:0 回复次数:19 
C的一道题,不知道我写成这样行不,还有没有更好的办法,谢谢了

要将“China”译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”.请编一程序,用赋初值的方法使,c1,c2,c3,c4,c5五个变量的值分别为‘C’,
‘h’.'i'.'n'.'a',经过运算,使,c1,c2,c3,c4,c5分别变为‘G’,'l','m','r','e',并输出,

我写成这样行不:
#include <stdio.h>
main()
{
char c1,c2,c3,c4,c5;
c1='C';c2='h';c3='i';c4='n';c5='a';
c1='C'+4;c2='h'+4;c3='i'+4;c4='n'+4;c5='a'+4;
printf ("%c,%c,%c,%c,%c",c1,c2,c3,c4,c5);

搜索更多相关主题的帖子: 办法 
2006-02-21 17:30
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
你这个没有通用性啊 既然是密码 就是把任何自己的密码按规律加密 
你这样不过是把CHINA变成GLMRE输出罢了
并没有成为译码的程序啊!!

when i want to ask anyone,i will ask myself first.
2006-02-21 17:35
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 
不过这种方便比较简单...循环都没有用到起.
直接赋值..
2006-02-21 17:49
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
如果这么做,可不符合题意啊

when i want to ask anyone,i will ask myself first.
2006-02-21 17:52
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 
也是..
#include <stdio.h>
#define N 100
main()
{
char a[N],b[N];
gets(a);
for(i=0;i<N&&a[i]!='0';i++)
b[i]=b[i]+4;
puts(b);
}
N久没动过C了..
忘记得差不多了.错了望指教..

[此贴子已经被作者于2006-2-21 18:07:59编辑过]

2006-02-21 18:06
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
以下是引用ヤ順祺冄繎ヤ在2006-2-21 18:06:00的发言:
也是..
#include <stdio.h>/////////////////<string.h>
#define N 100
main()
{
char a[N],b[N];
gets(a);
for(i=0;i<N&&a[i]!='0';i++)///////////////////////////////// '\0'
b[i]=b[i]+4;////////////////////////////////////////////////////////////a[i]=a[i]+4;
puts(b);
}
N久没动过C了..
忘记得差不多了.错了望指教..

差不多了.........


when i want to ask anyone,i will ask myself first.
2006-02-21 18:32
punish
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-2-9
收藏
得分:0 
呵呵,我还以为真的像我想的那么简单
2006-02-21 18:33
punish
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-2-9
收藏
得分:0 
可是我才看到数据类型,运算符,表达式那里,上面用的那些函数都没看
2006-02-21 18:35
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
gets puts就是输入输出字符串
找个C库函数速查看看,能帮你看懂别人的程序,看别人的程序是很有作用的,尤其是看高手的一些编程技巧或是习惯
养成好的编程习惯是很必要的

when i want to ask anyone,i will ask myself first.
2006-02-21 20:08
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
收藏
得分:0 
这样就通用了:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream.h>
char add4(char c)
{
if( c>='a' && c<='z' )
c = 'a' + (c-'a'+4) % 26 ;
else if( c>='A' && c<='Z' )
c = 'A' + (c-'A'+4) % 26 ;
return(c);
}
int jiami(char *s)
{
while(*s)
{
*s = add4(*s);
s++;
}
}
main(int argc,char *argv[])
{
int i;
char *s="China";
jiami(s);
cout<<s;
return 0;
}
2006-02-22 08:24
快速回复:C的一道题,不知道我写成这样行不,还有没有更好的办法,谢谢了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012310 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved