本文目錄一覽:
- 1、C語言數組 輸入一個字元串,並將其中的字元』a』用字元串」shu」替代後輸出。如輸入為」123abcaHello」,
- 2、c語言,shu
- 3、c語言--鍵盤輸入數字,輸出漢字讀法
- 4、C語言中shu=H*256+L?
C語言數組 輸入一個字元串,並將其中的字元』a』用字元串」shu」替代後輸出。如輸入為」123abcaHello」,
#include stdio.h
int main()
{
int i,j,k,m,n=0;
char a[81],s[4]=”shu”;
printf(“請輸入您要輸入的字元串長度:”);
scanf(“%d”,m);
printf(“請輸入您要輸入的字元串:”);
getchar(); //為消除回車鍵的影響
for(i=0;im;i++)
scanf(“%c”,a[i]);
for(i=0;im;i++)
{
if(a[i]==’a’)
{ // n=n+2, 刪除了,沒什麼用
for(j=m-1;ji;j–) // 由ji改為ji,表示i之後的都要移動。
a[j+2]=a[j];
j=i;
a[j]=s[0];
a[j+1]=s[1];
a[j+2]=s[2];
m=m+2; // 添加,添加字元後更新字元總數
}
}
for(k=0;km;k++) //m+n改為m,m已經表示字元總數
printf(“%c”,a[k]);
printf(“\n”); //輸出完字元後換行
}
123abcaHello的結果為:
c語言,shu
你直接把代碼 複製/粘貼 上來多好啊,就能幫你調試了。
最主要的錯如下:
c=1/3; 應該改為 c=1.0/3;
c語言--鍵盤輸入數字,輸出漢字讀法
#include stdio.h
#include stdlib.h
#include string.h
char *change(char ch)
{
static char shu[3];
memset(shu, 0, 3);
switch(ch)
{
case ‘1’:strcpy(shu,”一”);break;
case ‘2’:strcpy(shu,”二”);break;
case ‘3’:strcpy(shu,”三”);break;
case ‘4’:strcpy(shu,”四”);break;
case ‘5’:strcpy(shu,”五”);break;
case ‘6’:strcpy(shu,”六”);break;
case ‘7’:strcpy(shu,”七”);break;
case ‘8’:strcpy(shu,”八”);break;
case ‘9’:strcpy(shu,”九”);break;
case ‘0’:strcpy(shu,”零”);break;
default:printf(“輸入有誤!”);exit(0);
}
return shu;
}
char *func(char *s, int len)
{
int i, j;
char *dest;
char *shu;
char *wei[4]={“千”,”百”,”十”,””};
dest = (char *)malloc(64);
memset(dest, 0, 64);
switch(len)
{
case 1:j=3;break;
case 2:j=2;break;
case 3:j=1;break;
case 4:j=0;break;
}
for(i=0;ilen;i++)
{
shu = change(*(s+i));
if( !(i0*(s+i-1)==’0’*(s+i)==’0′) )
{
strcat(dest, shu);
if(*(s+i)!=’0′)
strcat(dest, wei[j+i]);
}
}
if( (strlen(dest)2) (strcmp(shu,”零”)==0) )dest[strlen(dest)-2]=’\0′;
return dest;
}
int main()
{
int len;
char num[10];
char *hanzi, *tmp;
hanzi = (char *)malloc(64);
tmp = (char *)malloc(32);
printf(“輸入數字,1~99999999:”);
gets(num);
len = strlen(num);
memset(hanzi, 0, 64);
memset(tmp, 0, 32);
if(len4)
{
hanzi = func(num, len-4);
strcat(hanzi, “萬”);
tmp = func(num+len-4, 4);
if(strcmp(tmp, “零”)!=0)
strcat(hanzi, tmp);
}
else hanzi = func(num, len);
printf(“漢字讀法:”);
puts(hanzi);
free(hanzi);
free(tmp);
return 0;
}
C語言中shu=H*256+L?
估計是從某一地址讀取位元組數據。H表示高位位元組,L是低位位元組。*256相當於左移8位,這樣兩個位元組可以合併為一個字
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/155388.html