经典C语言源代码Word文档格式.docx
《经典C语言源代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《经典C语言源代码Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
while(week<
0){week+=7;
}
week%=7;
switch(week)
case1:
printf("
Monday\n"
);
break;
case2:
Tuesday\n"
case3:
Wednesday\n"
case4:
Thursday\n"
case5:
Friday\n"
case6:
Saturday\n"
case0:
Sunday\n"
return0;
}
1、
(2)某年某月某日是第几天(一维数组)
#include"
stdio.h"
voidmain(){
inti,flag,year,month,day,dayth;
intmonth_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("
请输入年/月/日:
\n"
scanf_s("
%d/%d/%d"
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];
%d/%d/%d是第%d天\n"
year,month,day,dayth);
2、30个数中找最小的数及其位置
#defineSIZE30
inti;
floatdata[SIZE];
intmin;
请输入%d个浮点数:
SIZE);
for(i=0;
SIZE;
i++){
//scanf_s("
%f"
data[i]);
data[i]=rand()%30+1;
printf("
%f、"
data[i]);
min=0;
if(data[i]<
data[min])
min=i;
最小值是%5.2f,位置是%5d\n"
data[min],min);
3、30个数从小到大排序
(1)
inti,j;
floatdata[SIZE],temp;
请输入%d个整型数:
scanf_s("
min=i;
for(j=i+1;
j<
j++)
if(data[j]<
min=j;
temp=data[min];
data[min]=data[i];
data[i]=temp;
}
\n排序后的结果是:
%5.2f"
(2)模块化程序(数组名作为函数参数)
#defineSIZE5
voidaccept_array(floata[],intsize);
voidsort(floata[],intsize);
voidshow_array(floata[],intsize);
floatscore[SIZE];
accept_array(score,SIZE);
排序前:
"
show_array(score,SIZE);
sort(score,SIZE);
排序后:
voidaccept_array(floata[],intsize){
请输入%d个分数:
size);
size;
a[i]);
voidshow_array(floata[],intsize){
%5.2f"
a[i]);
voidsort(floata[],intsize){
inti,min,j;
floattemp;
j++)
if(a[j]<
a[min])
temp=a[min];
a[min]=a[i];
a[i]=temp;
4、
(1)指针加减:
#defineSIZE10
inta[SIZE]={1,2,3,4,5,6,7,8,9,10};
int*pa,i;
pa=&
a[0];
//pa=a;
%d"
*pa);
//printf("
*(pa+1));
pa++;
(2)指针比较:
int*qa;
pa=qa=&
请输入%d整型数:
for(;
pa<
qa+SIZE;
pa++)
%d"
pa);
for(pa--;
qa<
=pa;
pa--)
5、两字符串相连:
string.h"
voidstr_cat(charstr1[],charstr2[]);
inti,j;
charstr1[160];
charstr2[80];
请输入第一个字符串:
gets(str1);
请输入第二个字符串:
gets(str2);
str_cat(str1,str2);
puts(str1);
voidstr_cat(charstr1[],charstr2[]){
i=0;
while(str1[i]!
='
\0'
)
i++;
j=0;
while(str2[j]!
){
str1[i]=str2[j];
j++;
str1[i]='
;
6、二维数组(a,b转置)
inti,j,b[2][3];
inta[3][2]={{1,2},{3,4},{5,6}};
2;
for(j=0;
3;
b[i][j]=a[j][i];
\na:
printf("
%5d"
a[i][j]);
\nb:
for(i=0;
b[i][j]);
7、输入一个二维数组并输出(指针)
intx[2][3];
scanf_s("
*(x+i)+j);
putchar('
\n'
%d"
*(*(x+i)+j));
putchar('
8、冒泡法排序一个数组
#definesize10
voidmaopao(inta[]);
inta[10];
请输入10个整数:
10;
maopao(a);
voidmaopao(inta[]){
inti,j,temp;
9;
i++){//进行9轮排序
j