① c語言:把數字字元串轉換成整型數字
程序如下:
若輸入字元串"ab56cd87",則輸出結果:以%d格式輸出十進制整數5687;若輸入字元串"-ab56cd87",則輸出結果:以%d格式輸出十進制整數-5687。
(1)c語言字元型轉換整型擴展閱讀:
C語言高效編程技巧:
一:以空間換時間
計算機程序中最大的矛盾是空間和時間的矛盾,那麼,從這個角度出發逆向思維來考慮程序的效率問題
二:數學方法解決問題
數學是計算機之母,沒有數學的依據和基礎,就沒有計算機發展,所以在編寫程序的時候,採用一些數學方法會對程序的執行效率有數量級的提高。
三:使用位操作
實現高效的C語言編寫的第三招----使用位操作,減少除法和取模的運算。
在計算機程序中,數據的位是可以操作的最小數據單位,理論上可以用「位運算」來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做數據變換使用,但是,靈活的位操作可以有效提高程序運行的效率。
② C語言中如何將字元串轉化為整型數,注意負數處理方法
#include<stdio.h>
#include<string.h>
#include<assert.h>
intatoi(char*s)
{
assert(s&&strlen(s));
intflag=1;
intret=0;
while(*s=='-'&&++s&&(flag=-1)==1||*s!='')
{
if(*s>='0'&&*s<='9')
{
ret=10*ret+(*s++-'0');
}
else
{
++s;
}
}
returnflag*ret;
}
intmain(intargc,char**argv)
{
printf("-->%d ",atoi(argv[1]));
return0;
}
③ C語言中 字元串如何轉為整型數值
在C語言中將字元串轉化成整型有兩種方法。
1 用atoi函數。
atoi的功能就是將字元串轉為整型並返回。其聲明為
int atoi(char *str);
比如atoi("1234");會返回整型1234。
要調用atoi,需要引用頭文件stdio.h
2 用sscanf。
sscanf與標准格式化輸入函數scanf類似,不過源並非是標准輸入,而是字元串。
用sscanf可以處理更復雜的字元串。
比如字元串char * str = "a=1, b=2";
定義int a,b;後
可以用
sscanf(str,"a=%d, b=%d",&a,&b);
來將a,b值提取,計算後,a=1, b=2。
要使用sscanf同樣需要引用頭文件stdio.h。
④ c語言中實現輸入一個數字字元,然後轉換成整數數字輸出.怎麼做
字元串轉整數可以有兩種方法:
1.使用c語言自帶的庫函數:atoi。
函數原型:int atoi(const char *nptr);
功能:把字元串轉成整型數。
例如:
#include<stdlib.h>
#include<stdio.h>
intmain(void)
{
intn;
char*str="12345";
n=atoi(str);
printf("int=%d ",n);
return0;
}
/*
輸出:
int=12345
*/
2.可以自己編寫一個轉換函數:
#include<stdio.h>
#include<stdlib.h>
intatoi(char*s)
{
intt=0;
while(*s){
t=t*10+*s-'0';
s++;
}
return(t);
}
intmain()
{
chara[]="12345";
intn=atoi(a);
printf("n=%d",n);
return0;
}
/*
輸出:
n=12345
*/
⑤ 用c語言把字元型數組 轉換成整形數組
感覺你的表述有問題
charstr[]={11,12,13,14,15,16,17,18,19,20};
是個什麼意思你明白嗎?他的輸出是這樣的
⑥ c語言中如何將字元串轉化成整數型並輸出
c語言中,可以使用atoi()函數將字元串轉化成整數型並輸出。
atoi (表示 ascii to integer)是把字元串轉換成整型數的一個函數,應用在計算機程序和辦公軟體中。int atoi(const char *nptr) 函數會掃描參數 nptr字元串,會跳過前面的空白字元(例如空格,tab縮進)等。
如果 nptr不能轉換成 int 或者 nptr為空字元串,那麼將返回 0 。特別注意,該函數要求被轉換的字元串是按十進制數理解的。atoi輸入的字元串對應數字存在大小限制(與int類型大小有關),若其過大可能報錯-1。
(6)c語言字元型轉換整型擴展閱讀:
C語言常用函數:
1、int abs(int i)
返回整型參數i的絕對值。
2、double cabs(struct complex znum)
返回復數znum的絕對值。
3、double fabs(double x)
返回雙精度參數x的絕對值。
4、long labs(long n)
返回長整型參數n的絕對值。
5、double exp(double x)
返回指數函數ex的值。
6、double frexp(double value,int *eptr)
返回value=x*2n中x的值,n存貯在eptr中。
7、double ldexp(double value,int exp)
返回value*2exp的值。
8、double log(double x)
返回logex的值。
9、double log10(double x)
返回log10x的值。
10、double pow(double x,double y)
返回x^y的值。
⑦ c語言char型字元串轉換成int型字元串
1、把char型轉換成int類型。
for(int i=0;i<str.length();i++)
{
char temp_char=str.charAt(i);
//把字元轉換成數字方法一
int temp_int=temp_char-'0';
//把字元轉換成數字方法二
int temp_int=Integer.parseInt(String.valueOf(temp_char));
}
第一種辦法:通過charAt(i),把字元串的每位變成char型,然後用當前字元減去字元0(temp_char-'0'),得到當前字元的int值。
第二種辦法:把字元再轉成字元串,然後再強制轉換成int型。
2、把字元串拆分成一位一位的
第一種方法:循環後charAt(i);
注意:charAt(i)得到的是字元串對應的每位字元,可是不能直接轉成int,轉成int依然是ASCII值。
第二種方法:char[]temp=str.toCharArray();
注意:char[]里的內容不是字元串的每位字元,而是每位字元的ASCII值。
具體如下:
package cjl;
import java.util.Scanner;
/**
一維碼有一種編碼是ean13,是一串13位數字。其中第13位是校驗碼,作用是校驗前面12個數字是否正確。
校驗方法如下:
1、前12位數字從左起,將所有的奇數位相加得出一個數a,將所有的偶數位相加得出一個數b
2、將數b乘以3再與a相加得到數c
3、用10減去數c的個位數,如果結果不為10則校驗碼為結果本身,如果為10則校驗碼為0
請在控制台任意輸入一個12位數字,然後輸出校驗碼
author ff
/
public class CheckCode{
public void checkCode(String str)
{
int checkCode=0;
int a=0;//奇數位的和
int b=0;//偶數位的和
for(int i=0;i<str.length();i++)
{
char temp_char=str.charAt(i);
//把字元轉換成數字方法一
int temp_int=temp_char-'0';
//把字元轉換成數字方法二
//int temp_int=Integer.parseInt(String.valueOf(temp_char));
//System.out.println("temp_char="+temp_char);
//System.out.println("temp__int="+temp_int);
if((i+1)%2==0)//偶數位
{
b+=(int)temp_int;
}
else//奇數位
{
a=a+(int)temp_int;
}
}
int c=a+b*3;
int c_gw=c%10;
int d=10-c_gw;
//System.out.println("a="+a+"b="+b+"c="+c+"c_gw="+c_gw+"d="+d);
if(d==10)
{
checkCode=0;
}
else
{
checkCode=d;
}
System.out.println("checkCode="+checkCode);
}
public void Input()
{
while(true){
Scanner scanner=new Scanner(System.in);
System.out.println("請輸入一個12位的數字。。。。。。");
String str=scanner.nextLine();
if((str.length()==12)&&(str.matches("[0-9]+")))
{
checkCode(str);
break;
}
}
}
/**
param args
/
public static void main(String[]args){
CheckCode codeVo=new CheckCode();
codeVo.Input();
}
}
運行結果:
請輸入一個12位的數字。。。。。。
111111111111
checkCode=6
(7)c語言字元型轉換整型擴展閱讀:
char是計算機編程語言(c、c++、java、VFP等)中可容納單個字元的一種基本數據類型。
char是一個數據類型,作用是定義字元型變數(單個或是字元串)。
比方int是整形數據,int a=3;這里int是類型,a是整型變數,3是賦值;
char s='A';char是字元類型,s是字元型變數,A是賦值給變數s;
char s[]="c program";char是字元類型,s[]是字元型數組,"c program"是賦給數組的值。