急!急!请教一道C++编程题目

来源:百度知道 编辑:UC知道 时间:2024/06/28 14:51:52
编一个程序把输入一个以字符串表示的整形数转换为 int 型的数并输出.
答案采纳者追加30分!
最好附有一定的讲解!多谢

我已经帮你改成完全C++的了:

#include <iostream>
#include<string>//头文件
using namespace std;
void main()
{
string str;//定义一个字符数组来存放读进来的字符
int a; //定义一个整型变量,来存放转换为整形的值
cin>>str; //读取用户输入的字符串,比如“12345”
a=atoi(str.c_str()); //将字符串转换为整型的函数
cout<<a<<endl; //输出转换后的整数
}

#include <stdio.h>
#include <math.h>
void main()
{
// 存放字符串的数组
char str[100];
// 获取字符串
gets(str);
int i,l,n;
// 字符串长度
l=strlen(str);
// 初始化数字为0
n=0;
// 处理每一位
for(i=0;i<l;i++)
{
/*
每一位都是前面的数乘10再加上这位的,比如
输入12345
那么第一位的时候是1
n=0*10+1=1;
第二位的时候是2
n=1*10+2=12
依次类推
*/
n=n*10+str[i]-'0';
}
// 输出
printf("%d\n",n);
}