本文目錄一覽:
- 1、怎麼用c語言選擇結構輸出一到七開頭的成語?
- 2、求c語言大佬!!幫忙做一個成語接龍的程序!急用!要求如圖!
- 3、用C語言編寫一個成語接龍的程序,要求如圖,求大神幫忙,急急急急。。,
- 4、關於c語言成語的疑問
- 5、c語言怎麼載入成語庫
怎麼用c語言選擇結構輸出一到七開頭的成語?
選擇結構就是if-else和switch-case結構。
這個問題說白了,就是你定義一個字元串數組,裡面放一堆成語,然後循環遍曆數組,判斷每個字元串前兩個位元組是不是”一”到”七”的中文(一個漢字佔兩個位元組)。
思路:循環取出第一個漢字,用字元串比較函數strcmp判斷。
下面是演示代碼:
#include stdio.h
#include string.h
int main()
{
int i,j;
char s1[7][3]={“一”,”二”,”三”,”四”,”五”,”六”,”七”};
char cn[6][9]={“歡天喜地”,”七竅玲瓏”,”吉祥如意”,”一帆風順”,”十全十美”,”五湖四海”},str[3]={0};
for(i=0,printf(“數組中的成語有:\n”);i6;printf(“%s “,cn[i]),i++);
printf(“\n\n其中一到七開頭的成語有:\n”);
for(i=0;i6;i++)
{
str[0]=cn[i][0],str[1]=cn[i][1],str[2]=0;
for(j=0;j7;j++)
if(!strcmp(str,s1[j]))
break;
if(j7) printf(“%s “,cn[i]);
}
printf(“\n”);
return 0;
}
求c語言大佬!!幫忙做一個成語接龍的程序!急用!要求如圖!
成語驗證,需要將成語字典做成庫,然後查詢匹配,你想做自己做個庫吧。
#includestdio.h
#includestring.h
typedef struct cy
{
char idiom[9];
char star[3];
char end[3];
}CY;
int main()
{
int i,meNum,cont=0;
CY cy1,cy2;
char an,menu[10][11]={“胸有成竹”,”一心一意”,”花好月圓”,”風和日麗”,”豆蔻年華”,”學富五車”,”相輔相成”,”先發制人”,”興高采烈”,”自由輸入”};
printf(“成語接龍遊戲\n”);
while(1)
{
printf(“請選擇開頭的成語,輸入序號1-9,自行輸入請選擇0:\n”);
for(i=0;i9;i++)
printf(“%d、–%s\n”,i+1,menu[i]);
printf(“%d、–%s\n”,0,menu[i]);
scanf(“%d”,meNum);
memset(cy1.idiom,0,9);
memset(cy1.end,0,3);
if(meNum==0)
{
printf(” 請輸入開頭的成語:”);
scanf(“%s”,cy1.idiom);
}
else
strcpy(cy1.idiom,menu[meNum-1]);
cy1.end[0]=cy1.idiom[6];
cy1.end[1]=cy1.idiom[7];
cy1.end[2]=0;
printf(“成語接龍開始,輸入0結束\n”);
printf(“\n”);
printf(” %s\n”,cy1.idiom);
while(1)
{
printf(” –“);
memset(cy2.idiom,0,9);
memset(cy2.star,0,3);
scanf(“%s”,cy2.idiom);
if(cy2.idiom[0]==’0′ cy2.idiom[1]==0)
break;
cy2.star[0]=cy2.idiom[0];
cy2.star[1]=cy2.idiom[1];
cy2.star[2]=0;
if(strcmp(cy1.end,cy2.star))
{
printf(“接龍失敗!\n”);
break;
}
cont++;
memset(cy1.idiom,0,9);
strcpy(cy1.idiom,cy2.idiom);
cy1.end[0]=cy1.idiom[6];
cy1.end[1]=cy1.idiom[7];
cy1.end[2]=0;
}
printf(“本次接龍結束!你共完成了%d個成語的接龍\n”,cont);
getchar();
while(1)
{
printf(“再玩兒一次(Y/N)?”);
scanf(“%c”,an);
if(an==’N’)
return 0;
if(an==’Y’)
break;
}
}
return 0;
}
用C語言編寫一個成語接龍的程序,要求如圖,求大神幫忙,急急急急。。,
int main()
{
char first[20] = {0};
char second[20] = {0};
char key[20] = {0};
//input
printf(“please input first word:”);
scanf(“%s”, first);
printf(“please input second word:”);
scanf(“%s”, second);
//begin
bool found = false;
for (int i = 0; i 20; i ++)
{
char tmp = first[i];
if (tmp == second[0])
{
found = true;
}
if (found == true)
{
int len = 0;
for (int l = i, j = 0; l 20, j 20; l ++, j ++)
{
if (first[l] != 0)
{
key[j] = first[l];
len ++;
}
else
break;
}
for (int j = 0; j len; j ++)
{
if (key[j] != second[j])
{
found = false;
memset(key, 0x00, sizeof(key)/sizeof(key[0]));
}
}
if (found)
printf(“the max keyword is: %s \n”, key);
else
printf(“can not found the key word!! \n”);
}
}
return 0;
}
關於c語言成語的疑問
當然會出現put a bottle in the recycling, 1 empty bottles in the bin
因為singTheSong(oneFewer); 下面有這段代碼 當遞歸調用結束後 便會繼續往下執行
至於為什麼會遞增
那是因為每次遞歸調用singTheSong後 numberOfBottles的值都會減1,遞歸調用結束後numberOfBottles的值為1
由於每次調用singTheSong時,下面都有printf(“put a bottle in the recycling, %d empty bottles in the bin.\n”,numberOfBottles);這句代碼,所以遞歸調用多少次,這句代碼就會執行多少次,在遞歸調用singTheSong時,numberOfBottles每次減1,所以回推時,numberOfBottles每次加1
c語言怎麼載入成語庫
親您好,c語言載入成語庫的操作步驟如下:
1、首先需要找到一個成語庫(從網上下載即可,保存為.txt文件)
2、整體思路如下
由於要用的成語保存在文件里,一邊用一邊讀取會降低代碼的效率,所以我們首先建立一個二維動態數組,將文件里的成語讀取到二維數組裡。首先讓用戶輸入第一個成語,先遍歷一遍成語庫里的成語,查看成語庫里是否包含此成語,若不存在則默認用戶輸入的不是成語,輸出「Your input is not a idiom」,程序結束。如果成語庫有該成語,則電腦從成語庫里接出下一個成語,然後再由用戶接成語,循環往複,一直到用戶接的成語最後一字成語庫里沒有以該字開頭的成語,則輸出:「YOU WIN!」,程序結束;如果用戶接不出電腦輸出的成語,則輸出:「You fail!」
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286237.html