c语言编程:输入数字c语言输入字符串数组,将它转成一个整数再输出

编写一个c语言程序,将输入的数字字符转换成数字并输出并输出!谢谢_百度知道
编写一个c语言程序,将输入的数字字符转换成数字并输出并输出!谢谢
提问者采纳
#include &stdio.h&void main(){scanf(&%c&,&c);//输入一个数字字符if(c&='0' && c&='9'){ //若为0-9则进行处理 c-='0';
//将数字字符转换为真正的数字值 printf(&%d&,c);//输出数字值 这里用%d}else{ printf(&please enter 0~9!\n&);}}
提问者评价
谢谢啦 我一定好好学c语言
来自:求助得到的回答
其他类似问题
为您推荐:
c语言程序的相关知识
其他2条回答
能详细一点么?你的意思是将字符装换成数字/?
恩,数字字符转换成数字。。。对于数字字符ch,直接使用(int)ch转换成相应的数字是不正确的,使用ch-'0'转换。
我也刚在学C语言 你应该说的是Ascll码吧!代码是 main(){printf(&%d&getchar());}这样就行了 我可以先告诉你 小写字母a~z的数字是97~122 大写是65~90 你也可以自己去试一下 希望楼主采纳 谢谢!!!
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁共有 964 人关注过本帖
标题:一个整数转换成一个字符串,输出结果乱码?
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
结帖率:100%
&&已结贴√
&&问题点数:20&&回复次数:8&&&
一个整数转换成一个字符串,输出结果乱码?
下面是我写的代码 :
#include&stdio.h&
&&& int i=0;
&&& char ch[10];&&&&&&&&&&&&&&&&&&&&/*定义一个字符数组*/
&&& main()
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*定义变量*/
&&& void tranf(int change);&&&&&&&&&&&& /*声明函数*/
&&& printf(&Please input the number:&); /*提示输入*/
&&& scanf(&%d&,&putin);&&&&&&&&&&&&&&&&&/*获取数据*/
&&& tranf(putin);&&&&&&&&&&&&&&&&&&&&&&&/*调用函数*/
&&& getch();
&&& void tranf(int change)
&&& if(change!=0)&&&&&&&&&&&&&&&&&& /*判断*/
&&&&&&&&ch[i]=(change%10);&&&&&&&&& /*为字符数组赋值*/
&&&&&&&&i++;&&&&&&&&&&&&&&&&&&&&&&&&/*字符数组向下移一个*/
&&&&&&&&change/=10;&&&&&&&&&&&&&&&&&/*求商且更新变量的值*/
&&&&&&&&tranf(change);&&&&&&&&&&&&&&/*再次调用函数*/
&&& printf(&%s&,ch);&&&&&&&&&&&&&&& /*输出结果*/
输出结果为乱码,请问错在哪里?应该怎样忙改?谢谢。
搜索更多相关主题的帖子:
&&&&&&&&&&
等 级:版主
威 望:178
帖 子:3294
专家分:21129
直接用循环,你这相似是而非的递归不出问题,那是不正常的。
★★★★★为人民服务★★★★★
等 级:蝙蝠侠
帖 子:658
专家分:962
程序代码:int i=<font color=#;
char ch[<font color=#];&&&&&&&&&&&&&&&&&&&&/*定义一个字符数组*/
void main()
&&& int&&&&&&&&&&&&&&&&&&&&&&&&&&/*定义变量*/
&&& void tranf(int change);&&&&&&&&&&&& /*声明函数*/
&&& printf(&Please input the number:&); /*提示输入*/
&&& scanf(&%d&,&putin);&&&&&&&&&&&&&&&&&/*获取数据*/
&&& tranf(putin);&&&&&&&&&&&&&&&&&&&&&&&/*调用函数*/
&&& ch[i] = '<font color=#';
&&& printf(&%s&,ch);&&&&&&&&&&&&&&& /*输出结果*/
&&& getch();
void tranf(int change)
&&& if(change&=<font color=#)&&&&&&&&&&&&&&&&&& /*判断*/
&&&&&&&&tranf(change/<font color=#);&&&&&&&&&&&&&&/*再次调用函数*/
&&& if(change&<font color=#)
&&&&&&&&ch[i]='-';
&&&&&&&&i++;
&&&&&&&&tranf(-change);
&&&&&&&&ch[i]=(change%<font color=#)+'<font color=#';&&&&&&&&& /*为字符数组赋值*/
&&&&&&&&i++;&&&&&&&&&&&&&&&&&&&&&&&&/*字符数组向下移一个*/
[ 本帖最后由 makebest 于
09:17 编辑 ]
来 自:广东潮州
等 级:小飞侠
帖 子:1181
专家分:2784
最好带个头文件#include&conio.h&
一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,&&QQ群
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
对不起,我没有说清楚。这一个代码要利用递归函数实现。例如:输入586,输出是685.就是倒序输出。而且我想知道我的代码错在哪里?是错在给字符数组赋值的过程吗?
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
以下是引用cnfarer在 06:47:44的发言:
直接用循环,你这相似是而非的递归不出问题,那是不正常的。请问哪里出问题了?递归函数出问题了?
等 级:论坛游民
专家分:20
ch[i]=(change%10);&&&&&&&&& /*为字符数组赋值*/
ch[i]=(change%10)+48;
int(0)等于char(48)
int(9)等于char(57)
参照ASCii码表。
等 级:小飞侠
帖 子:348
专家分:2026
程序代码:#include&stdio.h&
int i=<font color=#;
char ch[<font color=#];&&&&&&&&&&&&&&&&&&&&/*定义一个字符数组*/
int main(void)
&&& int&&&&&&&&&&&&&&&&&&&&&&&&&&/*定义变量*/
&&& void tranf(int change);&&&&&&&&&&&& /*声明函数*/
&&& printf(&Please input the number:&); /*提示输入*/
&&& scanf(&%d&,&putin);&&&&&&&&&&&&&&&&&/*获取数据*/
&&& tranf(putin);&&&&&&&&&&&&&&&&&&&&&&&/*调用函数*/
&&& puts(ch);
&&& getch();
&&& return <font color=#;
void tranf(int change)
&&&&&&if(change!=<font color=#)&&&&&&&&&&&&&&&&&& /*判断*/
&&&&&&&&&&&&ch[i]=(change % <font color=#)+<font color=#x30;&&&&&&&&& /*为字符数组赋值*/
&&&&&&&&&&&&i++;&&&&&&&&&&&&&&&&&&&&&&&&/*字符数组向下移一个*/
&&&&&&&&&&&&change/=<font color=#;&&&&&&&&&&&&&&&&&/*求商且更新变量的值*/
&&&&&&&&&&&&tranf(change);&&&&&&&&&&&&&&/*再次调用函数*/
&&&&&&&&&&&&&&&&&&&&&/*输出结果*/
等 级:版主
威 望:178
帖 子:3294
专家分:21129
回复 6楼 折翼
递归一定要注意何时终止!i和字符数组可以作为转换函数的参数
[ 本帖最后由 cnfarer 于
20:14 编辑 ]
★★★★★为人民服务★★★★★
版权所有,并保留所有权利。
Powered by , Processed in 0.032504 second(s), 9 queries.
Copyright&, BCCN.NET, All Rights Reserved(C语言)输入一个字符,判别它是否是小写字母,如果是,将它转换成大写字母,如果不是,不转换,然后输出最后得到的字符
(C语言)输入一个字符,判别它是否是小写字母,如果是,将它转换成大写字母,如果不是,不转换,然后输出最后得到的字符
输入一个字符,判别它是否是小写字母,如果是,将它转换成大写字母,如果不是,不转换,然后输出最后得到的字符。
#include&stdio.h&#include&string.h&void main(){&&scanf("%c",&a);if(islower(a))//判断是小字母就为真a=a-32;printf("%c\n",a);&}
//给你一个简单的
的感言:谢谢了。 满意答案
#include "stdio.h"
void main(){&&printf("输入一个字符:");&scanf("%c",&c);&if(c&='a'&&c&='z') c-=32;&printf("%c\n",c);}
的感言:谢谢了。 相关知识
其他回答 (1)
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号c语言题,题目是编写fun函数,功能是:将一个数字字符串转换为一个整数。不得调用c语言提供的将字符串_百度知道
for(j=i;j&n-1;j++){t=p[i]-&#39;0&#39;;&#47;&#47;这里是将字符串的第i个位置的字符换成数字,即减去0的ascll码值。&#47;&#47;============s1=10;for(k=j;k&n-1;k++)t*=s1;&#47;&#47;这里是将换出来的数字移动到它所在的为,即如果是百为就要乘100。而这里它是看此时的字符到字符串结束的长度来决定的,如果到结束还有一位就乘10,一直累计乘10。s+=t;&#47;&#47;这里就是将前面转换好的数累计相加。&#47;&#47;=============等号之间的可以用楼上的简化。。}
其他类似问题
为您推荐:
太繁琐了,给个简洁的。int str2dec(char s[]) {
int i = 0,num = 0;
int sign = 1,n = strlen(s);
if(s[0] == &#39;-&#39; ) {
sign = -1;
for(; i & ++i)
num = 10 * num + s[i] - &#39;0&#39;;}
我知道这个简单的,我就是想搞清楚答案上那样写是什么意思
答案的算法较为呆板。先将第一位(不含符号位)的字符转换为数值,然后将这个数乘以10^(n - 1),并累加到和s中;第二位乘以10^(n - 2),并累加到和s中,......直到最后一位。这种算法的时间复杂度为n*n,而简洁算法的时间复杂度为n,在转换量很大时,时耗的差别是很明显的。
用强制转换啊。
fun函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言输入字符串 的文章

 

随机推荐