搜档网
当前位置:搜档网 › 经典C语言源代码

经典C语言源代码

经典C语言源代码
经典C语言源代码

经典C语言源代码

1、(1)某年某月某日是星期几

#include

int main()

{

int year, month, day;

while (scanf_s("%d%d%d", &year, &month, &day) != EOF)

{

if (month == 1 || month == 2)//判断month是否为1或2

{

year--;

month += 12;

}

int c = year / 100;

int y = year - c * 100;

int week = (c / 4) - 2 * c + (y + y / 4) + (13 * (month + 1) / 5) + day - 1;

while (week<0) { week += 7; }

week %= 7;

switch (week)

{

case 1:printf("Monday\n"); break;

case 2:printf("Tuesday\n"); break;

case 3:printf("Wednesday\n"); break;

case 4:printf("Thursday\n"); break;

case 5:printf("Friday\n"); break;

case 6:printf("Saturday\n"); break;

case 0:printf("Sunday\n"); break;

}

}

return 0;

}

1、(2)某年某月某日是第几天(一维数组)

#include "stdio.h"

void main() {

int i, flag, year, month, day, dayth;

int month_day[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };

printf("请输入年/月/日:\n");

scanf_s("%d/%d/%d", &year, &month, &day);

dayth = day;

flag = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);

if (flag)

month_day[2] = 29;

for (i = 1; i < month; i++)

dayth = dayth + month_day[i];

printf("%d/%d/%d是第%d天\n", year, month, day, dayth); }

2、30个数中找最小的数及其位置

#include "stdio.h"

# define SIZE 30

void main() {

int i;

float data[SIZE];

int min;

printf("请输入%d个浮点数:\n",SIZE);

for (i = 0; i < SIZE; i++) {

//scanf_s("%f", &data[i]);

data[i] = rand() % 30 + 1;

printf("%f、", data[i]);

}

min = 0;

for (i = 1; i < SIZE; i++) {

if (data[i] < data[min])

min = i;

}

printf("最小值是%5.2f,位置是%5d\n", data[min], min); }

3、30个数从小到大排序

(1)

#include "stdio.h"

# define SIZE 30

void main() {

int i,j;

float data[SIZE],temp;

int min;

printf("请输入%d个整型数:\n",SIZE);

for (i = 0; i < SIZE; i++) {

scanf_s("%f", &data[i]);

}

for (i = 0; i < SIZE; i++) {

min = i;

for (j = i + 1; j < SIZE; j++)

if (data[j] < data[min])

min = j;

temp = data[min];

data[min] = data[i];

data[i] = temp;

}

printf("\n排序后的结果是:\n");

for (i = 0; i < SIZE; i++)

printf("%5.2f", data[i]);

}

(2)模块化程序(数组名作为函数参数)#include "stdio.h"

# define SIZE 5

void accept_array(float a[], int size);

void sort(float a[], int size);

void show_array(float a[], int size);

void main() {

float score[SIZE];

accept_array(score, SIZE);

printf("排序前:");

show_array(score, SIZE);

sort(score, SIZE);

printf("排序后:");

show_array(score, SIZE);

}

void accept_array(float a[], int size) { int i;

printf("请输入%d个分数:", size);

for (i = 0; i < size; i++)

scanf_s("%f", &a[i]);

}

void show_array(float a[], int size) { int i;

for (i = 0; i < size; i++)

printf(" %5.2f", a[i]);

printf("\n");

}

void sort(float a[],int size) {

int i, min, j;

float temp;

for (i = 0; i < SIZE; i++) {

min = i;

for (j = i + 1; j < SIZE; j++)

if (a[j] < a[min])

min = j;

temp = a[min];

a[min] = a[i];

a[i] = temp;

}

}

4、(1)指针加减:

#include "stdio.h"

#define SIZE 10

void main() {

int a[SIZE] = { 1,2,3,4,5,6,7,8,9,10 };

int *pa, i;

pa = &a[0];

//pa=a;

printf("\n");

for (i = 0; i < SIZE; i++) {

printf(" %d", *pa);

//printf(" %d", *(pa+1));

pa++;

}

相关主题