社区
C语言
帖子详情
C语言关于字符运算和字符串转换问题,在线等
hkbyest
2007-06-27 12:50:14
定义了一个字符数组,用gets()输入一个字符串,然后我需要对字符数组里的每个字符进行一些加减运算,并把结果十六进制值转换成字符输出,请问该怎么写好。
另:其中一个字符的ASCII值经过减运算后变成了负数,结果的十六进制表示为FFFFF0A8,请问我该怎么在循环里处理这个转换,希望给出相关代码,谢谢~
...全文
248
20
打赏
收藏
C语言关于字符运算和字符串转换问题,在线等
定义了一个字符数组,用gets()输入一个字符串,然后我需要对字符数组里的每个字符进行一些加减运算,并把结果十六进制值转换成字符输出,请问该怎么写好。 另:其中一个字符的ASCII值经过减运算后变成了负数,结果的十六进制表示为FFFFF0A8,请问我该怎么在循环里处理这个转换,希望给出相关代码,谢谢~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hkbyest
2007-06-27
打赏
举报
回复
自己顶一下。我的代码如下,不过运行出错:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
main()
{
char f[20];
char s[20];
int count=0,m=0,n=0;
int b=0;
unsigned long a=0;
printf("请输入字符串:");
gets(f);
count=strlen(f);
while(count)
{
n=m+1;
if(m=3)
{
a=f[m]+n-0x7D6-0x7D6;
ultoa(a,s,16);
printf("%s",a);
}
else
{
b=f[m]+n;
itoa(b,s,16);
printf("%s",b);
}
m++;
count--;
}
}
编译时提示没有ultoa定义,改成itoa倒是编译通过。
hkbyest
2007-06-27
打赏
举报
回复
已经给了,呵呵,多谢liqiang123abc() 兄弟的热心帮助。
这段程序是关于一点算法分析的,不是书本题目。
liqiang123abc
2007-06-27
打赏
举报
回复
谢了哦
祝你学习进步
事业有成
liqiang123abc
2007-06-27
打赏
举报
回复
挖
给了我95分啊
真是受之有愧啊
没有给你彻底解决问题
只是帮了你一下
liqiang123abc
2007-06-27
打赏
举报
回复
哦 呵呵
也给偶点分啊
hkbyest
2007-06-27
打赏
举报
回复
自己解决了,N年没用C了,基础知识不过关。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
char f[20];
char s[20];
int count=0,m=0,n=0,b=0;
unsigned long int a=0;
printf("请输入字符串:");
gets(f);
count=strlen(f);
printf("\n转换字符串为:");
while(count)
{
n=m+1;
if(m==3)
{
a=f[m]+n-0x7D6-0x7D6;
printf("%X",a);
}
else
{
b=f[m]+n;
printf("%X",b);
}
m++;
count--;
}
printf("\n\n");
}
结帖给分。
liqiang123abc
2007-06-27
打赏
举报
回复
你这是老师给的题目吗
你不说出来题目的内容
谁也不知道你的算法对不对
liqiang123abc
2007-06-27
打赏
举报
回复
估计是C-FREE 3.52编译器的库函数里没有ultoa
看看ultoa的定义
函数名: ultoa
功 能: 转换一个无符号长整型数为字符串
用 法: char *ultoa(unsigned long value, char *string, int radix);
程序例:
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
unsigned long lnumber = 3123456789L;
char string[25];
ultoa(lnumber,string,10);
printf("string = %s unsigned long = %lu\n",string,lnumber);
return 0;
}
hkbyest
2007-06-27
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
上面那两个我都定义了啊。
liqiang123abc
2007-06-27
打赏
举报
回复
ultoa未定义
是缺少头文件
#include <stdlib.h>
#include <stdio.h>
liqiang123abc
2007-06-27
打赏
举报
回复
加上
#include <stdlib.h>
#include <stdio.h>
liqiang123abc
2007-06-27
打赏
举报
回复
少了头文件
hkbyest
2007-06-27
打赏
举报
回复
另外输出也不对,关于输出问题我用printf("%X",b)解决了,
还剩“第4个字符的ASCII值经过减运算后变成了负数,结果的十六进制表示为FFFFF0A8,请问我该怎么定义a,怎么处理输出”这问题。
hkbyest
2007-06-27
打赏
举报
回复
楼上的兄弟,我用的C-FREE 3.52编译提示ultoa未定义啊
liqiang123abc
2007-06-27
打赏
举报
回复
printf("%s",b);
肯定出错的
应该是printf("%c",b);
liqiang123abc
2007-06-27
打赏
举报
回复
这样行不
liqiang123abc
2007-06-27
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
main()
{
char f[20];
char s[20];
int count=0,m=0,n=0;
int b=0;
unsigned long a=0;
printf("请输入字符串:");
gets(f);
count=strlen(f);
while(count!=0)
{
n=m+1;
if(m=3)
{
a=f[m]+n-0x7D6-0x7D6;
ultoa(a,s,16);
printf("%c",a);
}
else
{
b=f[m]+n;
itoa(b,s,16);
printf("%c",b);
}
m++;
count--;
}
}
ayw215
2007-06-27
打赏
举报
回复
输出的时候安照 unsigned char,超过范围的,自动回卷
hkbyest
2007-06-27
打赏
举报
回复
XX的,SB了。根本不用转换,用个printf("%X",b)就OK了。
剩下“其中一个字符的ASCII值经过减运算后变成了负数,结果的十六进制表示为FFFFF0A8,请问我该怎么在循环里处理这个转换”问题。
等待回答。
hkbyest
2007-06-27
打赏
举报
回复
哦,上面的 printf("%s",a); printf("%s",b);错了
改成 printf("%s",s); printf("%s",s);
现在运行正常了,不过输出结果不对。
220个经典
C语言
源码
031 判断
字符
串
是否回文 032 通讯录的输入输出 033 扑克牌的结构表示 034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系 037 统计文件的
字符
数 038 同时显示两个文件的内容 039 简单的文本编辑器 ...
免费下载:
C语言
难点分析整理.doc
16.
C语言
字符
串
函数大全 68 17.
C语言
宏定义技巧 89 18.
C语言
实现动态数组 100 19.
C语言
笔试-
运算
符和表达式 104 20.
C语言
编程准则之稳定篇 107 21.
C语言
编程常见
问题
分析 108 22.
C语言
编程易犯毛病集合 112 ...
C语言
系列之 管道通讯与
字符
串
实现
尹成老师、带你步入 C 语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以 C 语言为核心,完整精彩的演练了数据结构、算法、设计模式、数据库、大数据高...以及各种精彩的小项目等,非常适合大家学习!
C语言
将
字符
串
转换
为数字
最近做了一些需要使用
字符
串
形势获取数字的程序,这里就牵扯到了
字符
串
类型和数字类型的
转换
问题
,以下是
C语言
中,
字符
串
类型
转换
为数字类型的方法。 1.
问题
描述 数字既能以
字符
串
形式储存,也能以数值形式储存,把...
c语言
字
字符
串
转换
成数组_
c语言
中的
字符
数组与
字符
串
1、
字符
数组的定义与初始化
字符
数组的初始化,最容易理解的方式就是逐个
字符
赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个
字符
分别赋给str[0]到str[9]10个元素如果花括号...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章