⑴ c语言 输入一个月份如何判断奇数偶数
#include<iostream.h>
void main()
{
int a;
cout<<"请输入月份:"<<endl;
cin>>a;
if (a%2==0) cout<<"是偶数"<<endl;
else cout<<"是奇数"<<endl;
}
⑵ C语言入门问题:输入年份和月份,求该月有多少天
#include<stdio.h>
main(){
int year,mounth,days;
printf("input year,mounth ");
scanf("%d,%d",&year,&mounth);
if(mounth%2!=0||mounth==8){
days=31;//不管什么年份,这几个月天数都是固定的
}
else{
if(mounth==2){
if((year%4==0)&&(year%100!=0)||(year%400==0))
//判断是否是闰年能被4整除不能被100整除,能被400整除的年份位闰年
days=29;
else
days=28;
}
else
days=30;
}
printf("该月份共有:%d天",days);
}
运行结果:
(2)c语言mount扩展阅读:
printf()用法:
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=5678;
printf("a=%d ",a);
输出结果为a=5678。
⑶ 帮忙弄c语言编程
仅提供我的思路,希望对你有所帮助:
设a[i][j](i=0,…,n-1;j=0…m-1) 表示j位评委给i选手的评分
Main()
{ int i,j,m,n;
float min[i],max[i],a[i][j];
For(i=0;i<n;i++)
For(j=0;j<m;j++)
a[i][j]=getf (); //评分赋初值
For(i=0;i<n;i++)
{ For(j=0;j<m;j++)
{min[i]=max[i]=a[i][j]
if(max[i] <=a[i][j+1])
max[i] =a[i][j+1];
if(min[i] >=a[i][j+1])
min[i] =a[i][j+1];
} //选择每组评分中的最高分和最低分
}
For(i=0;i<n;i++)
For(j=0;j<m;j++)
{
Average_score[j]= a[0][j];
Average_score[i]= Average_score[i]+a[i][j];
}
Average_score[i]= Average_score[i]-max[i]-min[i]);
Average_score[i]= Average_score[i]/(m-2);
} //计算出每个选手的平均得分(最后得分)
For(i=0;i<n;i++)
{
For(j=0;j<n;j++)
{ max_1[i] = Average_score[j];
if(max_1[i] <= Average_score[j+1])
max_1[i] = Average_score[j+1];-
}
Printf(max_1[i]=”%d\t”)
} //由大到小分数排序输出
For(j=0;j<=m;j++)
{
For(i=0,i<=n,i++)
{c[i][j]= Average_score[i]-a[i][j];//计算出j评委评分与i学生最后得分的差异
c[i][j]=Abs( c[i][j]); //取绝对值,以加总估量评委的评分准确性
} //定义double c[i][j];
mount[j]= c[1][j]; //定义double mount[j];
For(i=1;i<n;i++)
{
mount[j]= Mount[j]+c[i][j];
}
d[j]= mount[j] /n; //定义double d[j]表示第j位评委的差异准确性;
}
For(j=0;j<m;j++)
Printf(d[j]=“%d\n”) //输出j位评委的差异准确性;
⑷ 用C语言编程序"输入月份,输出对应的天数"
这个要考虑闰年,所以还要输入年份
#include<stdio.h>
intmain(void)
{
intyear,mount;
intbuf[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
printf("请输入年份月份用空格隔开 ");
while(1)
{
scanf("%d%d",&year,&mount);
if(mount<13&&mount>0)
break;
else
printf("月份输入错误请重新输入年份月份用空格隔开 ");
}
if(mount!=2)
{
printf("本月有%d天 ",buf[mount]);
}
else
{
if(year%4==0&&year%100!=0||year%400==0?1:0)
printf("本月有29天 ");
else
printf("本月有28天 ");
}
return0;
}
⑸ 请问C语言中的标志位在什么时候用,什么时候用会出问题。谢谢
主要适用于位运算。
标志位操作:
Linux内核、wine、XFree86的代码中都常常能见到一些这样的标志位操作。
现在从Linux内核中的do_mount()函数中那些例子来记一下:
1949 if (flags & MS_NOEXEC)
1950 mnt_flags |= MNT_NOEXEC;
1956 flags &= ~(MS_NOSUID | MS_NOEXEC | MS_NODEV | MS_ACTIVE |
1957 MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT |
1958 MS_STRICTATIME);
flags & MS_NOEXEC表示:
假设flags是二进制1111,MS_NOEXEC定义为十进制8,那么二进制就是0100,那么&操作执行完后,flags就是0100,不等于0,所以这行语句就是检查flags有没有设置标志位MS_NOEXEC。
检查一个标志位。
mnt_flags |= MNT_NOEXEC表示:
这里的意思和上面差不多,进行或操作后,mnt_flags的MNT_NOEXEC标志位置位。
设置一个标志位。
flags &= ~MS_NOEXEC表示:
上述语句主要是说的是 &~操作做了什么,下面我们分析看看。
这里还是假设flags是二进制1111,MS_NOEXEC定义为十进制8,二进制是0100,
MS_NOEXE进行非“~”操作后,就是二进制的1011,再把1011和flags的1111进行&操作,得到最终的结果──1011,那 么,我们对比可以看到,这里就是把flags中的MS_NOEXE标志位去掉,不管MS_NOEXE标志位在flags中是否被置位。
除去一个标志位。
小技巧:
flags = 0011
0011 << 3:
向左偏移3位,等同于乘以2的3次方,乘以8. 11000
flags = 0011
1100 >> 2:
向右偏移2位,等同于除以2的2次方。
那么下面这个呢?
(x+127)&~127
(x+127)&~127实际上是这个:
#define ROUND_SIZE(Size) ((Size) + ALIGN - 1) & ~(ALIGN - 1)
“ALIGN”字节对齐。
⑹ c语言中如下定义是什么意思,求解释:
这是定义了一个file_system结构的静态对象
采用的是标记化结构初始化的方法
这种方法可以对每个结构的部分成员进行初始化,而不需要对全部成员一一初始化
这样扩展性更强,就算结构新增了一些成员,原先的函数也能够运行
⑺ C语言问题
定义里面的上下标应该用常量,而不是变量
你的输入语句在哪?
⑻ c语言问题
#include<stdio.h>
float AverageRainfall(float *rain,char *mounth[])
{
float *p;
float s=0,average;
p=rain;
for(int i=0;i<12;i++)
{
printf("%s",mounth[i]);
printf("mounth rain:");
scanf("%f",p++);
s=rain[i]+s;
}
return average=s/12;
}
void DifferenceRainfall(float rain[12],float average, float *difference)
{
int i;
//float difference[12];
for(i=0;i<12;i++)
difference[i]=rain[i]-average;
//return difference[i];
}
void PrintResult(float average,float difference[])
{
printf("annule rain fall:%f\n",average);
for(int i=0;i<12;i++)
{
printf("difference[");
printf("%d",i);
printf("]:%f\n",difference[i]);
}
}
void main()
{
char *mounth[]={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
float rain[12],average,difference[12];
average = AverageRainfall(rain,mounth);//////
DifferenceRainfall(rain,average,difference);
PrintResult(average,difference);
}