| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:摆个地摊专门解决C问题,如果我不会,我就去问贝而
只看楼主 加入收藏
xiongchaobin
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-8
收藏
 问题点数:0 回复次数:5 
摆个地摊专门解决C问题,如果我不会,我就去问贝而
这里不收费,收费只收人民币!!!
搜索更多相关主题的帖子: 地摊 
2005-04-10 13:29
zhualike
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-4-5
收藏
得分:0 

帮忙做下这个可以吗?字母Z变成D这个怎么转啊? 可以按一定的规律把用户输入的电文(一行字符)变成密码电文。若规律是:将字母A变成E,字母a变成e,即变成其后的第四个字母,字母W变成A,字母X变成B,字母Y变成C,字母Z变成D,非字母字符不变。如“China!”转变为“Glmre! ”。请编一个程序完成上述功能。


2005-04-10 14:20
hbjmll
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-14
收藏
得分:0 
#include "stdio.h"
#include "conio.h"
void main()
{
char a[100];
gets(a);
int i=0;
while(a[i])
{
  if ((a[i]<='z')&&(a[i]>='a')) a[i]='a'+((a[i]+4)-'a')%26;
  if ((a[i]<='Z')&&(a[i]>='A')) a[i]='A'+((a[i]+4)-'A')%26;
  printf("%c",a[i++]);
}
}

[此贴子已经被作者于2005-4-10 17:46:42编辑过]


2005-04-10 17:45
zhualike
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-4-5
收藏
得分:0 

能不能解释下这个啊?

a[i]='A'+((a[i]+4)-'A')%26

偶看不懂~


2005-04-11 20:16
cillin
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-10
收藏
得分:0 
麻烦各位看看有关数组的问题

#include<stdio.h> main(){ /*此段代码是为测试中途对未经初始化的一维及二维数组进行赋值后数组中的各数值情况*/ int *pl,(*ph)[4],aa[3][4],a[3][4]={{1,2, 3, 4}, {5,6, 7, 8}, {9,10,11,12}}; int i,j,m,n; int b[3][4],c[3][4],d[5];

printf("\n****the test 1:****\n"); pl=a; /*行地址赋列指针变量*/ ph=&a[0][1]; /*列地址赋行指针变量*/ printf("%d,%d\n",*pl,*(*ph+1));

printf("only input one value to the group when run(result):\n"); scanf("%d",aa[0]); /*0行行地址*/ for(i=0;i<3;i++) for(j=0;j<4;j++) { printf("%d ",aa[i][j]); if(j==3)printf("\n"); }

printf("\n****the test 2:****\n"); printf("input only head of every line:\n"); for(i=0;i<3;i++) scanf("%d",b[i]); /*输入表列只写二维数组的行首地址*/ printf("\noutput:\n"); for(i=0;i<3;i++) for(j=0;j<4;j++) { printf("%d ",b[i][j]); if(j==3)printf("\n"); }

printf("\n****the test 3:****\n"); printf("2 digits group:\n"); scanf("%d",c[0]); for(m=0;m<3;m++) for(n=0;n<4;n++) { printf("%d ",c[m][n]); if(n==3)printf("\n"); }

printf("\n\n1 digits group:\n"); scanf("%d",d); /*输入表列只写一维数组的数组名即以此种方式输入第一个数*/ for(n=0;n<5;n++) printf("%d ",d[n]);

getch(); } /*请观察运行结果 疑问尽在其中*/


2005-04-12 10:02
agocih
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-3-17
收藏
得分:0 
a[i]='A'+((a[i]+4)-'A')%26
这个的意思就是保证加密后字母不会超出 a~z或者A~Z的范围

2005-04-12 16:38
快速回复:摆个地摊专门解决C问题,如果我不会,我就去问贝而
数据加载中...
 
   



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

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