① 急求c語言程序:求一個字元串中所有的數字字元對應的數值之和。
#include <stdio.h>
long numcharsum(const char *s)
int main(void)
{
char s[100];
printf("input a string: ");
scanf("%s", s);
printf("%ld", numcharsum(s));
}
long numcharsum(const char *s)
{
long sum = 0;
while(*s)
{
if (*s >= 48 && *s <= 57)
sum += *s - 48;
s++;
}
return sum;
}
② C語言中怎麼把數字字元轉換成對應的數值
ch-'0'是計算每個數字字元在數字中所對應的位置,較難理解的是10*d ,因為輸入的是多個數,每次計算完一個數字字元,依然處在循環中帶入下一次的計算,因此10*d的作用就是把上一次算得的結果往高位送,每乘以一個十就高一位。
說得不大清楚,不清楚的話還請見諒啊!
③ C語言編寫程序,輸入一個字元,如果是數字字元,則轉換成對應的數字
1、新建一個工程和.c文件 ,輸入頭文件和主函數。
④ C語言輸入字母,實現輸出對應數字,例如輸入a或者A輸出1,輸入F或f輸出6。求
這個是很簡單的。你可以將字母a用數字的方式列印出來試試,如printf("%d",'a');輸出是97,那麼只要減去96就可以了。順便說一下,首先char其實就是8位的整數變數,但是由於ASCII碼的編碼也是8位,所以常常使用char來表示ASCII字元,因此char也叫字元變數。所以char變數的本質就是數字。不難發現通過查找ASCII表,a的編碼的十進制數就是97。當然你也會發現a和A的編碼是不一樣的,如果你的功能是輸入a和A輸出都是1,那麼就要提前判斷一下。
當然你也可以通過判斷來實現這個功能,如:
chartemp=getchar();
if(temp=='a')
......
elseif(temp=='A')
......
elseif(temp=='f')
......
還有,可以通過switch來實現,如:
chartemp=getchar();
switch(temp)
{
case'a':
......
break;
case'A':
......
break;
default:break;
}
需要聲明一下,由於char本身就是數字,所以是可以使用switch的,但是不要妄圖通過switch來判斷字元串變數(char[])這是不可行,雖然你可能在其他的高級語言中看到過這種用法,但是在C中是不能運行的。
⑤ c語言中數字和字元相加結果是什麼
char c='a' ;
c=c+1 ;
printf("%c %d\n", c , c ); //輸出b 98
字元在計算機中是按字元的ascii值存儲的,實際上就是個整數,而輸出時,按不同的格式串可得到相應的顯示:%c 按字元輸出 %d按整數輸出
⑥ c語言輸出英文字母對應數字並相加
//字典順序是按ASCII碼值排序的,若想把數字轉換為ASCII碼,只須+上'0'就可以了,你可以查一下ASCII碼字元集(c++教程的附錄通常都有這表),就可以很清楚地知道大寫字母、小寫字母、數字之間轉換關系!#include <iostream>
#include <string>
using namespace std;int main()
{
char* str[5]; //註:字典順序是按ASCII碼排序的,小寫的ASCII碼值大於所有大寫的ASCII碼!
cout<<"請輸入五個國家名字(英文):"<<endl;
int i,j,t;
for(i=0;i<5;i++)
{
str[i]=new char[20];
cin>>str[i];
}
for(i=0;i<4;i++)
{
t=i;
for(j=i+1;j<5;j++)
{
if(strcmp(str[t],str[j])>0)
{
t=j;
}
}
if(t!=i)
{
char temp[20];
strcpy(temp,str[t]);
strcpy(str[t],str[i]);
strcpy(str[i],temp); //交換
}
} for(i=0;i<5;i++)
{
cout<<str[i]<<'\t';
}
cout<<endl;
return 0;
}輸出結果如下:(1)首字母為大寫,排序如下:(2)首字母為小寫的,排序如下:(3)首字母不統一的情況,則排序情況有點不一樣,不要光看錶面的字母,c++的小寫字母ASCII碼比大寫字母的大!,排序如下:
⑦ C語言題:輸入數字,輸出對應的漢字!
漢字編碼為雙位元組一個漢字,所以,可以將漢字,或漢字串存為字元串,根據輸入的數字,輸出對應的字元串即可。
比如,將字元串存儲為二維數組,直接按照下標輸出漢字。
#include<stdio.h>
intmain()
{
char*str[3]={"第一組漢字","第二組","第三組測試文字"};
inti;
scanf("%d",&i);
puts(str[i]);
return0;
}
⑧ c語言數字和字元的相互轉換
#include "stdio.h"
#include "math.h"
main()
{
char change(int x,int n);
int x,i,j;
char s[8],y;
printf("請輸入整數:");
scanf("%d",&x);
for(i=0;i<20;i++)
{
y=change(x,i);
if(y=='