⑴ 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();
}