文章目录
一,if双分支语句变成单分支语句
1.if单分支语句
if ( 表达式 )
{
代码块;
}
2.if双分支语句
if ( 表达式 )
{
代码块1;
}
else
{
代码块2;
}
3.if双分支语句改成单分支语句
如果else 后面的语句什么也不做,就可以去掉它。如果if后面的语句和else后面的语句是简单的数字运算,可以改成三目运算符,表达式1?表达式2:表达式3的形式。
二,采用冒泡排序法对n个数据排序
将第一个元素和第二个元素进行比较,若为逆序则将两个元素交换,然后比较第二个元素和第三个元素。依次类推,直至第 n-1个元素和第 n个元素进行比较为止。
编写n个元素数组,用冒泡排序法进行排序
void sorting(int a[],int n)
{
int j,i,temp,k;
for(j = 0;j<n-1;j++)
for(i = 0;i<n-1-j;i++)
{
if(a[i]>a[i+1])
{
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
}
for(k=0;k<n;k++)
{
printf("%d ,",a[k]);
}
printf("\n");
}
三,输入一个年份,判断是不是闰年
1. 满足两个条件之一即为闰年
(1)能被4整除但是不能被100整除
(2)能被400整除
2.代码实现
int main()
{
int year;
printf("请输入年份:");
scanf("%d",&year);
if (year%400 == 0 || year%4 == 0 && year%100 != 0)
printf("%d是闰年\n",year);
else
printf("%d不是闰年\n",year);
return 0;
}
四,输入年月,输出这个月有多少天
1, 考虑闰年问题
二月份的天数与闰年有关。闰年的判断依据是:若某年能被4整除,但不能被100整除,则这一年是闰年;若某年能被400整除,则这一年也是闰年。
例如;
void main() {
int year, month;
int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
printf("请输入年份和月份:");
scanf("%d%d", &year, &month);
///判断这一年是是不闰年
if (year % 400 == 0 || (year % 4 == 0) && (year % 100 != 0) {
//如果是闰年的话,将数组中二月份的天数改为29天
days[1] = 29;
}
printf("%d年%d月有%d天", year, month, days[month - 1]);
}
2,输入年月日,输出这天是这年第几天
首先定义一个数组,包含一到十二月各月的天数,由键盘输入年、月、日,将之前月份的天数累计相加,再加上当前的天数就是总天数。如果该年是闰年,总天数就要加一。
例如;
//显示该日是本年的第几天
#include<stdio.h>
int main()
{
int y = 0, m = 0, d = 0, days = 0, i;
int months[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d%d%d", &y, &m, &d);
if((y%4 == 0 && y%100 != 0)||(y%400 == 0))
months[1] = 29;
else
months[1] = 28;
for(i = 0; i < m - 1; i++)
days += months[i];
days += d;
printf("%d", days);
return 0;
}
五,用函数对2个数交换
1.用函数直接交换
void swap(int x,int y) //这个时候传递的就是值
{
int t;
t = x;
x = y;
y = t; //值交换
printf("a = %d\n",x);
printf("b = %d\n",y);
}
int main()
{
int a = 1,b = 2;
swap(a,b); //改变的是形参,但是实参没有改变
printf("a = %d\n",a);
printf("b = %d\n",b);
return 0;
}
2.用指针操作交换
void swap(int *x,int *y) //按指针传递
{
int t;
t = *x;
*x = *y;
*y = t; //此时交换的时指针指向的值
printf("a = %d\n",*x);
printf("b = %d\n",*y);
}
int main()
{
int a = 1,b = 2;
swap(&a,&b);
printf("a = %d\n",a);
printf("b = %d\n",b);
return 0;
}