c語言charccA
兩種方法我寫在一起,可以獨立拆開。
#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);
}