c语言2 从键盘输入一个数字形式的字符串, 将其转换为相应的数字并输出. 例如输入的字符串是"123", 转换后将
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言2 从键盘输入一个数字形式的字符串, 将其转换为相应的数字并输出. 例如输入的字符串是"123", 转换后将相关的知识,希望对你有一定的参考价值。
参考技术A #include "stdio.h"#include "string.h"
int main()
int num,i;
char str[100];
printf("请输入字符串\n");
scanf("%s",str);
num=strlen(str);
for(i=0;i<num;i++)
printf("%d",str[i]-48);//根据ASCII表
return 0;
本回答被提问者采纳 参考技术B 可以用这个atio(a);a表示一个字符串首地址;
它包含在include<stdlib.h>头文件中追问
转换后将得到整数123 请发个完整的 我一点都不懂 急求
追答#include
#include
int main()
char a[4]="123";
int b;
b=atoi(a);
printf("%d",b);
return 0;
c语言高手急救:从键盘输入长整数n,将其从个位开始,每三位数字一组用逗号间隔输出。
例如,如果输入最大的长整数:2147483647
则输出:2,147,483,647
#include<stdio.h>
int main()
long n;
int i=0,j=0,f=0;
char x[60];
printf("n=");
scanf("%ld",&n);
if(n<0) f=1;n=-n;
for(;n!=0;n/=10)
x[i++]='0'+n%10;j++;
if(j==3)
j=0;
x[i++]=',';
if(f) printf("-");
for(i-=1+(x[i-1]==',');i>=0;i--)
printf("%c",x[i]);
printf("\n");
参考技术A 看看这个能不能满足你的要求,不过只能显示正整数
#include <stdio.h>
void print(unsigned int a);
int main()
unsigned int m;
scanf("%u", &m);
print(m);
return 0;
void print(unsigned int a)
const unsigned long max_num = 30;
char buff[30] = '\0'; //定义一个缓冲区,大小为 max_num 字节。
char *p = buff + max_num - 1; /*将p指向buff的最后一个字符*/
int i = 0;
do
*--p = a % 10 + '0';
a /= 10;
i++;
if (i == 3)
i = 0;
if (a != 0)
*--p = ',';
while(a != 0);
p = buff;
while (*p == '\0') p++; /* 查找字符串第一个不为'\0'的地址。不用担心找不到,因为buff中至少有一个字符'0' */
printf("%s", p);
return;
以上是关于c语言2 从键盘输入一个数字形式的字符串, 将其转换为相应的数字并输出. 例如输入的字符串是"123", 转换后将的主要内容,如果未能解决你的问题,请参考以下文章
写一个程序,从键盘输入一个字符串,再从最右边开始向左数,按三位一个逗号的形式输出。
C语言:从键盘输入一篇英文文本,统计每个英文字母(分大小写)及空格、数字、回车和其他字符,咋编?