⑴ c語言 首字母 判斷 星期幾
一、在第二到最後一個if前都加上else!
二、在每個scanf("%c",&c2);前加一個fflush(stdin); 這與你的操作方法有關系,如果輸入一個字元就按一次回車,則需要加,如果對於判斷兩個字母的,是連續輸入的,則可以不加。看你的代碼,你選用的應該是第一種情況,所以,要加上去掉緩存中的回車才可以!
⑵ c語言首字母判斷星期幾
#include<stdio.h>
intmain()
{
charch;
printf("請輸入第一個字母:");
scanf("%c",&ch);
if(ch=='m')printf("monday ");
if(ch=='t')
{
getchar();
printf("請輸入第二個字母:");
scanf("%c",&ch);
if(ch=='u')printf("tuesday ");
elseprintf("thursday ");
}
if(ch=='w')printf("wednesday ");
if(ch=='f')printf("friday ");
if(ch=='s')
{
getchar();
printf("請輸入第二個字母:");
scanf("%c",&ch);
if(ch=='a')printf("saturday ");
elseprintf("sunday ");
}
else
printf("沒有相同。 ");
}
⑶ c語言節日
一個字典結構.c++用標准庫
或者用字元串查找.
===例子嘛,我以前寫的一個英漢對照的程序(相當粗糙的),框架可以套用.
======main.cpp
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iomanip>
const int MAXNUM=100;
using namespace std;
struct lst_w
{
string en;
string cn;
};
class Compare_lst_w_en
{
public:
int operator()(const lst_w& l1,const lst_w& l2) const {
return l1.en<l2.en;
}
};
void trans(char*);
void trans(string);
string null_str("NULL");
string& get(string);
vector<lst_w> li(MAXNUM);
int main()
{
ifstream fi("list.txt");
string str;
int tmp;
int i=0;
while(!fi.eof())
{
getline(fi,str);
tmp=str.find(':');
li[i].en=str.substr(0,tmp);
li[i].cn=str.substr(tmp+1,string::npos);
if(li[i].en!="")
// cout.width(9);
// cout<<li[i].en<<" 翻譯為:"<<li[i].cn<<endl;
i++;
}
fi.close();
ofstream fo("list.txt");
sort(li.begin(),li.begin()+i,Compare_lst_w_en());
for(int j=0;j<i;j++)
{
fo<<li[j].en<<":"<<li[j].cn<<endl;
}
fo.close();
// getline(cin,str);
// trans(str);
trans("i catch your dog that injure their leg");
// cout<<i;
getchar();
}
void trans(char* cstr)
{
string str(cstr);
return trans(str);
}
void trans(string str)
{
// string str(cstr);
string word;
string enl,cnl;
int n=-1;
int old_n=0;
n=str.find(' ');
while(n!=-1)
{
word=str.substr(old_n,n-old_n);
int sp=word.size() - get(word).size();
if(sp>0){
enl+=word;
enl+=" ";
cnl+=get(word);
cnl+=string(1+sp,' ');
}else
{
enl+=word;
enl+=string(1-sp,' ');
cnl+=get(word);
cnl+=" ";
}
old_n=n+1;
n=str.find(' ',old_n);
}
word=str.substr(old_n,string::npos);
if(word!="")
{
enl+=word;
cnl+=get(word);
}
cout<<enl<<endl;
cout<<cnl<<endl;
}
string& get(string instr)
{
int i;
for(i=0;i<li.size();i++)
{
if(li[i].en==instr)
return li[i].cn;
}
return null_str;
}
=======list.txt
a:一
aback:向後
abacus:算盤
abalone:鮑魚
abandon:放棄
abase:使受辱
abash:使羞愧
abate:使變小
abattoir:屠宰場
abbess:女修道院長
abbey:大修道院
abbot:男修道院長
abbreviate:縮寫
abdicate:退離
abdomen:腹
abct:誘拐
abed:在床上
aberrant:異常的
aberratiton:失常
abet:慫恿
am:是
an:一
and:和
animal:動物
are:是
bit:位
cat:貓
catch:抓住
chameleon:變色龍
computer:計算機
dictionary:字典
dog:狗
edit:編輯
end:結束
extinct:滅絕
file:文件
fine:好的
good:好
he:他
i:我
injure:受傷
is:是
it:它
leg:腳
list:列表
mine:我的
my:我的
of:的
one:一
or:或
plus:加
run:跑
she:她
sky:天
start:開始
system:系統
that:那
their:他們的
they:他們
two:二
word:詞
you:你
your:你的
zero:零
⑷ C語言,根據輸入的字母判斷是星期幾
你輸入了S後的回車還在緩沖區中,後來被讀取到letter中了,而不是你輸入的字母,所以才會出錯,你在之前再加一個getchar就行了。還有你的第二個else if中不需要再讀取字母了,直接判斷就行了。下面是整理後的代碼。我建議你直接讀取一段作為字元串來判斷比較方便,這樣比較麻煩。
#include <stdio.h>
void main()
{
printf("please enter the first letter of someday:\n");
char letter;
while ((letter = getchar()) != 'y') {
switch (letter) {
case 'S': {
printf("please enter the second letter:");
getchar();
if ((letter = getchar()) == 'a') {
printf("It is Saturday!\n");
} else if (letter == 'u') {
printf("It is Sunday!\n");
} else {
printf("error\n");
}
break;
}
case 'M':
printf("It is Monday!\n");
break;
case 'T': {
printf("please enter the second letter:");
getchar();
if ((letter = getchar()) == 'h') {
printf("It is Tuesday!\n");
} else if (letter == 'u') {
printf("It is Thursday!\n");
}
break;
}
case 'F':
printf("It is Friday!\n");
break;
case 'W':
printf("It is Wednesday!\n");
break;
}
}
}
⑸ 用C語言 建立一個2013年國務院規定放假的安排表,要求按照時間順序排列,每個節假日信息包括:
2013年節假日放假安排時間表
春節假期2月9日至15日
一、元旦:
1月1日至3日放假調休,共3天。1月5日(星期六)、1月6日(星期日)上班。
二、春節:
2月9日(星期六)2月10日(星期日)正常休假、2月11日至15日放假共5天。2月16日(星期六)、2月17日(星期日)正常休假、2月18日上班。
三、清明節:
4月4日至6日放假調休,共3天。4月7日(星期日)上班。
四、勞動節:
4月29日至5月1日放假,共3天。4月27日(星期六)、4月28日(星期日)、5月4日(星期六)青年節、5月5日(星期日)正常休假、5月2日(星期四)、5月3日(星期五)上班。
五、端午節:
6月10日至12日放假調休,共3天。6月8日(星期六)、6月9日(星期日)上班。
六、中秋節:
9月19日至21日放假調休,共3天。9月22日(星期日)上班。
七、國慶節:
10月1日至7日放假調休,共7天。10月12日(星期六)、10月13日(星期日)正常休假。
⑹ c語言 判斷某天星期幾
#include
"stdio.h"
#include
"conio.h"
main()
{
int
day,month,year,sum,leap;
printf("\nplease
input
year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)
/*先計算某月以前月份的總天數*/
{
case
1:sum=0;break;
case
2:sum=31;break;
case
3:sum=59;break;
case
4:sum=90;break;
case
5:sum=120;break;
case
6:sum=151;break;
case
7:sum=181;break;
case
8:sum=212;break;
case
9:sum=243;break;
case
10:sum=273;break;
case
11:sum=304;break;
case
12:sum=334;break;
default:printf("data
error");break;
}
sum=sum+day;
/*再加上某天的天數*/
if(year%400==0||(year%4==0&&year%100!=0))
/*判斷是不是閏年*/
leap=1;
else
leap=0;
if(leap==1&&month>2)
/*如果是閏年且月份大於2,總天數應該加一天*/
sum++;
printf("It
is
the
%dth
day.",sum);
getch();
}