c語言編程代碼

兩種方法我寫在一起,可以獨立拆開。

#include <stdio.h>

void finda1(char a[3][10]);

void finda2(char a[3][10]);

void show(char (*p)[10]);

int main()

{

char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原數組內容: ");

show(a);

printf(" 1、用數組指針的方法(函數): ");

finda1(a);

printf("執行後: ");

show(a);


printf(" --------------------- ");


char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原數組內容: ");

show(a);

printf(" 2、用指針數組的方法(函數finda2): ");

finda2(b);

printf("執行後: ");

show(b);

return 0;

}

void finda1(char a[3][10])

{

int i,j;

char (*p)[10]=a;

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("發現:第%d行第%d個元素是『a』,已替換 ",i+1,j+1),p[i][j]='1';

}

void finda2(char a[3][10])

{

int i,j;

char *p[3]={&a[0][0],&a[1][0],&a[2][0]};

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("發現:第%d行第%d個元素是『a』,已替換 ",i+1,j+1),p[i][j]='1';


}

void show(char (*p)[10])

{

int i,j;

for(i=0;i<3;i++,printf(" "))

for(j=0;j<10;j++)

printf("%c ",p[i][j]);

}

⑵ 在c語言中,getchar()和getch()函數的區別

getchar有一個int型的返回值.當程序調用getchar時.程序就等著用戶按鍵.用戶輸入的字元被存放在鍵盤緩沖區中.直到用戶按回車為止(回車字元也放在緩沖區中).getchar函數的返回值是用戶輸入的第一個字元的ASCII碼,如出錯返回-1,且將用戶輸入的字元回顯到屏幕.如用戶在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤緩存區中,等待後續getchar調用讀取.也就是說,後續的getchar調用不會等待用戶按鍵,而直接讀取緩沖區中的字元,直到緩沖區中的字元讀完為後,才等待用戶按鍵.
getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個鍵,getch就立刻返回,getch返回值是用戶輸入的ASCII碼,出錯返回-1.輸入的字元不會回顯在屏幕上.getch函數常用於程序調試中,在調試時,在關鍵位置顯示有關的結果以待查看,然後用getch函數暫停程序運行,當按任意鍵後程序繼續運行.

簡單的說,getch()是讀取按鍵值常放在程序末尾起暫停作用而getchar()是從標准輸入設備讀取下一個字元~~所讀字元若文件結束或出錯則返回-1

⑶ C語言編寫代碼

兩種方法我寫在一起,可以獨立拆開。

#include <stdio.h>

void finda1(char a[3][10]);

void finda2(char a[3][10]);

void show(char (*p)[10]);

int main()

{

char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原數組內容: ");

show(a);

printf(" 1、用數組指針的方法(函數finda1): ");

finda1(a);

printf("執行後: ");

show(a);


printf(" --------------------- ");


char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原數組內容: ");

show(a);

printf(" 2、用指針數組的方法(函數finda2): ");

finda2(b);

printf("執行後: ");

show(b);

return 0;

}

void finda1(char a[3][10])

{

int i,j;

char (*p)[10]=a;

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("發現:第%d行第%d個元素是『a』,已替換 ",i+1,j+1),p[i][j]='1';

}

void finda2(char a[3][10])

{

int i,j;

char *p[3]={&a[0][0],&a[1][0],&a[2][0]};

for(i=0;i<3;i++)

for(j=0;j<10;j++)

if(p[i][j]=='a')

printf("發現:第%d行第%d個元素是『a』,已替換 ",i+1,j+1),p[i][j]='1';


}

void show(char (*p)[10])

{

int i,j;

for(i=0;i<3;i++,printf(" "))

for(j=0;j<10;j++)

printf("%c ",p[i][j]);

}

⑷ 字元串和字元混合數組的問題

看來你用的是c語言了??
定義公用體吧:
union str
{
char c1;
char *c2;
};

str s1[5];
s1.c1[0]='a';
s1.c1[1]='b';
s1.c1[2]='c';
s1.c2[3]="cc";
s1.c2[4]="dh";

⑸ c語言程序程序main如下: char cc,a,b; cc='A'; a=cc+32; b=cc||32; printf("%c %d\n",a,b); 輸出為啥

char cc,a,b; //
cc='A'; // A的ASCII碼值 65 賦值給變數cc
a=cc+32; // 將A的ASCII碼值 65加上32後得小寫字母『a』的ASCII碼值
b=cc||32; // '||' 是邏輯或運算,兩邊只要有一個為0則結果得0,兩邊都不為0,結果得1.此時b=1
printf("%c %d\n",a,b); //輸出 變數a所存的字元,和b的值。

⑹ (C語言作業)通過數組實現自編字元、字元串的處理

第一題
#include<stdio.h>
int main()
{
char str1[100]={0},str2[100]={0};
int i,j,mark;
scanf("%s%s",str1,str2);

for(i=0;str1[i]||str2[i];i++)
{
if(str1[i]<str2[i])
{
mark=-1;
break;
}
if(str1[i]==str2[i])
{
mark=0;
break;
}
if(str1[i]>str2[i])
{
mark=1;
break;
}
}
if(mark==-1)printf("str1<str2\n");
else if(mark==0)printf("str1=str2\n");
else if(mark==1)printf("str1>str2\n");
return 0;
}
第二題
#include<stdio.h>
int main()
{
char str1[100]={0},str2[100]={0},str3[100]={0};
int i,j,s1,s2;
scanf("%s%s",str1,str2);
for(s1=0;str1[s1];s1++);
for(s2=0;str1[s2];s2++);
for(i=s2-1,j=0;i>=0;i--,j++)
{
str3[j]=str2[i];
}
for(i=s1-1;i>=0;i--,j++)
{
str3[j]=str1[i];
}
printf("%s\n",str3);
return 0;
}

⑺ c語言程序設計題。用數組。

求長度數組strlen
然後for循環
先判斷A,若是,緊接著判斷C,下面依次

自己寫吧
不要依靠任何人

⑻ c語言為什麼我的程序運行到一半就結束了

如圖。我幫你改好了


源代碼見網頁

⑼ c語言程序編寫,急!

#include <stdio.H>

#define StudentSize 3
#define AllElements_1 &temp.id.number,temp.id.name,&temp.score.eng,&temp.score.maths,&temp.score.compu,&temp.score.total
#define AllElements_2 temp.id.number,temp.id.name,temp.score.eng,temp.score.maths,temp.score.compu,temp.score.total
#define PrintTitle printf("\n\n\nѧºÅ\tÐÕÃû\tÓ¢Óï\tÊýѧ\t¼ÆËã»ú\t×Ü·Ö\n")

void ReadData(void);
void CompareScore(void);

struct id
{
int number;
char name[10];
};

struct score
{
int eng;
int maths;
int compu;
int total;
};

struct info
{
struct id id;
struct score score;
}temp,student[StudentSize];

int main(void)
{
printf("**************************************************\n");
printf("**** ****\n");
printf("**** ѧÉú³É¼¨µÇ½ϵͳ£¨Version 3.5.0.13) ****\n");
printf("**** ****\n");
printf("**************************************************\n\n\n\n");

if(initialize() == 0)
{
system("PaUSe");
return 0;
}
}

int initialize(void)
{
int r = 0;
if(Display() == -1)
if(!ConfirmDialog("** δÕÒµ½µµ°¸ ÏÖÔÚ´´½¨Âð£¿(Y\\N) **\n"))
return 0;
else
{
do
r = WriteData();
while(r == 0);
}
ReadData();
}

int WriteData(void)
{
FILE *fp;
int i = 0;

fp = fopen("ѧÉú³É¼¨.dat","w");
for(;i < StudentSize;i++)
{
printf ("ÇëÒÀ´ÎÊäÈëµÚ %d λѧÉúµÄÐÅÏ¢£¨Ñ§ºÅ£¬ÐÕÃû£¬Ó¢Óï¡¢Êýѧ¡¢¼ÆËã»úÈýÃſγ̵ijɼ¨£&;\n",i+1);
scanf ("%d%s%d%d%d",AllElements_1);
temp.score.total = temp.score.eng + temp.score.maths + temp.score.compu;
fprintf(fp,"%d\t%s\t%d\t%d\t%d\t%d\n",AllElements_2);
}
fclose(fp);
Display();
return ConfirmDialog("** ÒÔÉÏÐÅϢȷÈÏÎÞÎóÂð£¿(Y\\N) **\n");
}

int Display(void)
{
FILE *fp;
int i=0;

if((fp = fopen("ѧÉú³É¼¨.dat","r")) == NULL)
return -1;
PrintTitle;
for(;i < StudentSize;i++)
{
fscanf(fp,"%d%s%d%d%d%d",AllElements_1);
printf("%d\t%s\t%d\t%d\t%d\t%d\n",AllElements_2);
}
}

void ReadData(void)
{
FILE *fp;
int i=0;

fp = fopen("ѧÉú³É¼¨.dat","r");
for(;i < StudentSize;i++)
{
fscanf(fp,"%d%s%d%d%d%d",AllElements_1);
student[i] = temp;
}
}

void CompareScore(void)
{
int i,j;
for(i=0;i < StudentSize - 1;i++)
for(j=1;j < StudentSize - i;j++)
if (student[j].score.total >student[j-1].score.total)
{
temp = student[j];
student[j] = student[j-1];
student[j-1] = temp;
}
printf("\n\n\n");
printf(" ¦á¨ã\n");
printf(" £ú¨q þ]¨r¨q &;k¨r.\n");
printf(" z(o-.-o)(o-.-o) .o§°");

PrintTitle;
for(i = 0;i < StudentSize;i++)
{
temp = student[i];
printf("%d\t%s\t%d\t%d\t%d\t%d\n",AllElements_2);
}
printf("\n");
}

int ConfirmDialog(char message[])
{
char c;
printf("\n*************************************\n");
printf("%s",message);
printf("*************************************\n\n");
do
{
c=getch();
if(c == 'y' || c == 'Y')
return 1;
else if(c == 'n' || c == 'N')
return 0;
}
while(c);
}