C语言作业

发布 2021-05-05 20:24:28 阅读 6560

c语言。课。程。

设。计。作。业。

专业:计算机科学与技术112

姓名:李凯。

1 打印出杨辉三角形(要求打印出10行如下)

源程序:# include <>

void main()

int m,k;

int a[10][10];

printf("");

for(m=0;m<10;m++)

for(m=2;m<10;m++)

for(k=1;ka[m][k]=a[m-1][k-1]+a[m-1][k];

for(m=0;m<10;m++)

2 有个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

源程序:# include <>

void main()

int i,j,k;

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

for(j=1;j<5;j++)

for(k=1;k<5;k++)

if(i!=j&&i!=k&&k!=j)

printf("%d%d%d\t",i,j,k);

printf("");

3 有n个整数,使其前面各数顺序向后移m个位置。

源程序:# include<>

int n,m,i,a[200];

int main()

void re(int n);

void exchange();

printf("请依次输入n,m的值:")

scanf("%d,%d",&n,&m);

re(n);

printf("调整前的数字顺序为:")

for(i=0;i printf("");

exchange();

return 0;

void re(int n)

int i;

for(i=0;i

void exchange()

int i,j;

printf("经过调整后输出顺序为:");

for(j=n-m;j for(i=0;i printf("");

4 编程实现统计一个文件的字数。

源程序:#include <>

#define filename "d:\\

int main(void)

file *fp;

int m=0;

fp=fopen(filename,"r");

while (fgetc(fp)!=eof)

++m;fclose(fp);

printf("%d",m);

return 0;

5 约瑟夫问题:15个教徒和15个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免遇难,于是想了一个办法:30个人围成一个圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环直到仅余15个人为止,问怎样排法才能使每次投入大海的都是非教徒。

源程序:#include<>

#include<>

typedef struct lnode

int number;

int password;

struct lnode *next;

lnode,*linklist;

void creatlink(linklist &tail,int n) /尾插法建立不带头结点单向循环链表,返回尾指针。

lnode *head,*p;

for(int i=1;i<=n;i依次输入n个人的密码,建立单向循环链表

* p=head输出链表。

while(p->next!=head)

printf("%d ",p->password);*

void joseph(linklist &tail)

int m;

printf("请输入一个正整数作为初始报数上限值:")

scanf("%d",&m);

int i=1;

lnode *p=tail->next,*pre=tail;

printf("出圈顺序依次为:")

while(p->next!=p圈中多于1个人时。

printf(" d ",p->number); 报数为m的人数列。

m=p->password;

pre->next=p->next;

free(p);

i=1从下一个人开始重新报数。

p=pre->next

printf(" d ",p->number最后一个人出列

free(p);

void main()

int n;

printf("请输入圈中人数:")

scanf("%d",&n);

linklist tail;

creatlink(tail,n);

joseph(tail);

6 中国有句俗语叫“三天打鱼两天晒网”。某人从2023年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。

源程序:# include <>

struct date

int year;

int month;

int day;

int days(date para);

void main()

date appointdate;

int totaldays=0; /1990.1.1到指定日期的总天数,初始化为。

printf("please input your appointed day:")

scanf("%d %d %d",&输入指定日期。

date temp; /指定日期前一年的最后一天。

for(int year=1990;year<= 计算出。1.1到指定日期前一年最后一天的天数。

totaldays+=days(temp);

totaldays+=days(appointdate); 指定年一月一日到指定日期的天数。

if(totaldays%5==4||totaldays%5==0) /判断该人是"钓鱼"还是"休息"

printf("the person is sleeping!")

elseprintf("the person is fishing!")

某年某月某日到该年月日的总天数。

int days(date para)

int i,days=0,k;

int days_table[2][12]=,平年每月平均天数。

31,29,31,30,31,30,31,31,30,31,30,31}};闰年每月平均天数。

if ((k=1;

else k=0;

for(i=0;i<

days+=days_table[k][i];

for(i=1;i<=

days++;

return days;

7 编写程序实现字符串的复制。

源程序:# include <>

int main()

char a=i am a boy",b[20];

int i;

for(i=0;*(a+i)!=0';i++)

b+i)=*a+i);

*(b+i)='0';

printf("string a is:%s",a);

printf("string b is:")

for(i=0;b[i]!=0';i++)

printf("%c",b[i]);

printf("");

return 0;

8 创建一个链表,将其按正向和反向输出。

C语言作业

no.1 include int main 结果z 9.000000 配置 mingw2.95 cuirelease,编译器类型 mingw old检查文件依赖性。完成构建未命名1 0个错误,0个警告。生成c documents and settings administrator my docum...

C语言作业

上机实习报告。题目 有五名同学每名同学的数据包括学号 姓名和3门功课的成绩 成绩提前预设 求 1 每名同学的平均成绩 名同学每门课程的平均分 3 按学生的平均分从低到高次序排除每名同学的顺序 分析 根据题目要求,使用结构体类型,包括5个元素学号 num 姓名 name 门功课的成绩 score 3 ...

C语言作业

1 c语言的特点与主要应用领域。特点 1 c语言简洁,紧凑,使用方便,灵活 2 c语言具有高级语言和低级语言的特征 3 c语言是结构化语言,具有结构化的控制语句 4 c语言具有各种各样的数据类型 5 c语言具有强大的图形功能,支持多种显示器和驱动器 6 c语言适用范围大,目标 质量高,程序执行效率高...