高分求一个c语言简单算法的实现

[复制链接]
查看11 | 回复7 | 2008-5-17 16:08:54 | 显示全部楼层 |阅读模式
66
回复

使用道具 举报

千问 | 2008-5-17 16:08:54 | 显示全部楼层
不明白Z是什么?
回复

使用道具 举报

千问 | 2008-5-17 16:08:54 | 显示全部楼层
那个z到底是什么啊,是ASCII变数字?
回复

使用道具 举报

千问 | 2008-5-17 16:08:54 | 显示全部楼层
y = z - 333 % i(取余)z是数组取ASCII数值怎么取啊??
回复

使用道具 举报

千问 | 2008-5-17 16:08:54 | 显示全部楼层
详细程序代码如下:()保存代码时,以.C为后缀名.在VC6.0下编译(TC2.0也可,但不能显示汉字)#include#include#include/********************************定义一个联合体Z,long double 是10字节,故用c1,c2....c10与其对应,使结构体ch与first共占同一内存区,这样就可以实现题中的要求。************************************/union Z{ long double first;/*这部分用于数学算术运算*/ struct ch/*这部分用于对字符进行运算*/ {unsigned char c1;unsigned char c2;unsigned char c3;unsigned char c4;unsigned char c5;unsigned char c6;unsigned char c7;unsigned char c8;unsigned char c9;unsigned char c10; }C;};unsigned char userName[]="12345678";/*用户名*/union Z myZ;/*定义一个Z变量myZ(相当于你题中所说的z)*/long double y=333;long double registerNumber;/*即a,为要求计算的值*/main(){ int strLen; int i; myZ.C.c1='w';/*设置myZ的初值为 woainini */ myZ.C.c2='o'; myZ.C.c3='a'; myZ.C.c4='i'; myZ.C.c5='n'; myZ.C.c6='i'; myZ.C.c7='n'; myZ.C.c8='i'; myZ.C.c9=0;/*高位没有就赋0*/ myZ.C.c10=0; strLen=strlen(userName);/* 先计算名字长度*/ for(i=strLen-1;i>=0;i--)/*从名字最后一个向第一个进行计算*/ {y=myZ.first-333%(int)userName;/*ASCII强制转化为数值型*/myZ.first+=myZ.first+y;/*累加*/ } registerNumber=myZ.first; printf("用户名为:%s\n",userName); printf("注册码是:%X\n",registerNumber);/*以十六进制大写输出*/ getch();}看明白了,不过快下班了!改天有空,还没人答的时候我再来答,先收藏起来
回复

使用道具 举报

千问 | 2008-5-17 16:08:54 | 显示全部楼层
z是什么?
回复

使用道具 举报

千问 | 2008-5-17 16:08:54 | 显示全部楼层
不难,按照你写的要求直接算就是了,编辑几个参数和计算式,但是你没有说明白z是什么,初始值是什么啊
回复

使用道具 举报

千问 | 2008-5-17 16:08:54 | 显示全部楼层
估计z是个8字节的字符串,把它转化成8字节ASCII码后变成数字处理吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行