西北师范大学期末考试c语言复习笔记(代码部分)
更新时间:2023-07-20 18:53:01 阅读量: 实用文档 文档下载
- 西北师范大学期末考试试题推荐度:
- 相关推荐
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
C语言复习整理
1、 素数:求1——200的所有素数。
#include<stdio.h>
#include<math.h>
void main()
{
int i,j,leap;
for(i=2;i<=100;i++)
{
leap=1;
for(j=2;j<=sqrt(i);j++)
if(i%j==0)
leap=0;
if(leap==1)
printf("%4d",i);
}
printf("\n");
}
2、 输入一个年份,判断是否为闰年。
#include<stdio.h>
void main()
{
int year;
printf("请输入年份:");scanf("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0)
printf("%d年是闰年.\n",year);
}
3、 画出各种三角形图案。(这是用循环嵌套完成的,也可以用二维数组来输出更加直接简
单,但是耗费系统资源较多。)
#include<stdio.h>
void main()
{int i,j;
for(i=1;i<6;i++)
{
for(j=1;j<30-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
}
4、 多项式求和问题
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
① 2+22+222+…+2…2
# include<stdio.h>
void main()
{
int s,sum,n,i;
printf("请输入n的值:");scanf("%d",&n);
sum=0;s=0;
for(i=1;i<=n;i++)
{
s=s+2;
sum=sum+s;
}
printf("sum=%d\n",sum);
}
② 求1!+2!+…+n!
# include<stdio.h>
int jc(int n)
{
int i,s=1;
for(i=1;i<=n;i++)
s=s*i;
return(s);
}
void main()
{
int s,sum,n,i;
printf("请输入n的值:");scanf("%d",&n);
sum=0;s=1;
for(i=1;i<=n;i++)
{
sum=sum+jc(i);
}
printf("sum=%d\n",sum);
}
5、猴子摘桃
# include<stdio.h>
void main()
{
int i,sum=1;
for(i=1;i<10;i++)
sum=(sum+1)*2;
printf("sum=%d\n",sum);
}
5、 百钱百鸡
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
#include<stdio.h>
void main()
{
int x,y,z,j=0;
printf("Folleing are possible plans to buy 100 fowls with 100 Yuan.\n");
for(x=0;x<=20;x++) /*外层循环控制鸡翁数*/
for(y=0;y<=33;y++) /*内层循环控制鸡母数y在0~33变化*/
{
z=100-x-y; /*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/
if(z%3==0&&5*x+3*y+z/3==100)
/*验证取z值的合理性及得到一组解的合理性*/
printf("%2d:cock=%2d hen=%2d chicken=%2d\n",++j,x,y,z);
}
}
6、 打渔晒网
#include<stdio.h>
int main()
{
int a[12]={0,31,28,31,30,31,30,31,31,30,31,30},d,m,i,n=0,c,b;
printf("请输入月、日:");scanf("%d,%d",&m,&d);
switch(m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:if(d>31)
return(0);
case 2:if(d>28)
return(0);
case 4:
case 6:
case 9:
case 11:if(d>30)
return(0);
}
for(i=1;i<=m;i++)
{
n=n+a[i-1];
}
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
c=(n+d-1)%5;b=(n+d-1)%7;
if(c<=2)
printf("打鱼\n");
else
printf("晒网\n");
switch(b)
{
case 0:printf("星期日\n");break;
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
}
return(0);
}
7、 利用面积法和随机数概率近似求出圆周率π。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{
int i,m,n;
float x,y,pi;
m=0;n=0;
srand(time(0));
for(i=0;i<=32767;i++)
{
x=rand()/32767.0;
y=rand()/32767.0;
n++;
if(x*x+y*y<=1)
m++;
}
pi=4.0*m/n;
printf("%f\n",pi);
}
8、 解方程
① 迭代法 迭代法开平方:求平方根的迭代公式:x1=1/2*(x0+a/x0)
#include<stdio.h> #include<math.h>
void main()
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
{
double a,x0,x1; printf("Input a:\n"); scanf("%lf",&a);//为什么在VC6.0中不能写成“scanf("%f",&a);”? if(a<0)
printf("Error!\n");
else
{
x0=a/2;
x1=(x0+a/x0)/2;
do
{
x0=x1;
x1=(x0+a/x0)/2;
}while(fabs(x0-x1)>=1e-6);
} printf("Result:\n");
printf("sqrt(%g)=%g\n",a,x1);
}
9、解方程
牛顿迭代法求方程的根2x^5+4x^2+3x-6=0 在1附近的根
# include<stdio.h>
# include<math.h>
void main()
{
float x1,x,f1,d1;
x1=1;
do
{
f1=2*pow(x1,5)+4*x1*x1+3*x1-6;
d1=10*pow(x1,4)+8*x1+3;
x=x1-f1/d1;
x1=x; }
while (fabs(f1)>1e-6);
printf("x=%f\n",x);
}
用二分法求方程2x^5+4x^2+3x-6=0在(0,1)上的根
# include<stdio.h>
# include<math.h>
void main()
{
float x1,x2,x,y1,y;
x1=0;x2=1;
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
y1=2*pow(x1,5)+4*x1*x1+3*x1-6;
do
{
x=(x1+x2)/2;
y=2*pow(x,5)+4*x*x+3*x-6;
if(y*y1<0)
x2=x;
else
{x1=x;
y1=y;
}
}
while (fabs(y)>1e-6);
printf("x=%f\n",x);
}
弦截法
9、 排序
冒泡排序法(随即产生10个正整数,并按照从大到小的顺序排序)
# include<stdio.h>
# include<stdlib.h>
# include<time.h>
void main()
{
int a[10],i,j;
srand(time(0));
printf("原序列为:\n");
for(i=0;i<10;i++)
{
a[i]=rand()%100;
printf("%4d",a[i]);
}
putchar('\n');
for(i=0;i<8;i++)
for(j=0;j<9-i;j++)
if(a[j]<a[j+1])
{
a[j]+=a[j+1];
a[j+1]=a[j]-a[j+1];
a[j]=a[j]-a[j+1];
}
printf(“排序后的数列为:\n”);
for(i=0;i<10;i++)
printf("%4d",a[i]);
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
putchar('\n');
}
选择排序法
# include<stdio.h>
# include<stdlib.h>
# include<time.h>
void main()
{
int a[10],i,j,p;
printf("排序前:\n");
srand(time(0));
for(i=0;i<10;i++)
{
a[i]=rand()%100;
printf("%4d",a[i]);
}
for(i=0;i<10;i++)
{
p=i;
for(j=1+i;j<10;j++)
if(a[j]>a[p])
p=j;
if(p!=i)
{
a[i]+=a[p];
a[p]=a[i]-a[p];
a[i]-=a[p];
}
}
putchar('\n');
printf("排序后\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
}
10、 魔方数
#include <stdio.h>
void main()
{
int a[15][15],i,j,k,n;
printf("请输入一个正整数:");
scanf("%d",&n);
for(i=0;i<n;i++)
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
for(j=0;j<n;j++)
a[i][j]=0;
j=n/2;
a[0][j]=1;
for(k=2;k<=n*n;k++)
{ i=i-1;
j=j+1;
if((i<0)&&(j>n-1))
{
i=i+2;
j=j-1;
}
else
{ if(i<0)
i=n-1;
if(j>n-1)
j=0;
}
if(a[i][j]==0)
a[i][j]=k;
else
{ i=i+2;
j=j-1;
a[i][j]=k;
}
}
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf("%5d",a[i][j]);
printf("\n\n");
}
}
11、 打擂台算法
选猴王
# include<stdio.h>
void main()
{
int a[30],i,s,n;
for(i=0;i<30;i++)
a[i]=1;
i=0;s=0;n=30;
while (n>1)
{
s+=a[i];
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
if(s%3==0&&a[i]==1)
{
a[i]=0;
n--;
}
i++;
if(i==30)
i=0;
}
for(i=0;i<30;i++)
if(a[i]==1)
printf("猴王是:%d\n",i);
}
12、 关于字符串的统计问题(统计出一行字符串中包含多少大写字母、小写字母、数字、
空格等。)
# include<stdio.h>
void main ()
{
char string[20],i;
int a,b,c,d,j;
gets(string);
a=0;b=0;c=0;d=0;
for(j=0;(i=string[j])!='\0';j++)
{
if(i>='a'&&i<='z')
a++;
if(i>='A'&&i<='Z')
b++;
if(i>='0'&&i<='9')
c++;
if(i==' ')
d++;
}
printf("小写字母的个数为:%d\n",a);
printf("大写字母的个数为:%d\n",b);
printf("数字的个数为:%d\n",c);
printf("空格的个数为:%d\n",d);
}
13、 汉诺塔问题
# include<stdio.h>
void hanoi(int n,char a,char b,char c)
{
if(n==1)
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
printf("%c-->%c\n",a,c); else
{
hanoi (n-1,a,c,b);
printf("%c-->%c\n",a,c); hanoi (n-1,b,a,c);
}
}
void main()
{
hanoi (3,'A','B','C');
}
14、 xdx 用梯形法求定积分 s= 0e12
# include<stdio.h>
# include<math.h>
double f(double x)
{
double y;
y=exp(-x*x);
return (y);
}
double txf(double a,double b,int n) {
double h,s,p=0,x;
int i;
h=(b-a)/n;
s=h*(f(a)+f(b))/2;
for(i=1;i<n;i++)
{
x=a+i*h;
p=p+f(x);
s=s+p*h;
}
return s;
}
void main()
{
double a=0,b=1,s;
int n;
s=txf(a,b,1000);
printf("s=%lf\n",s);
}
15、 递归输出三角形
这是我整理的关于c语言期末考试的重要笔记,主要是代码部分。
# include<stdio.h>
void fac(int n)
{
int i;
for(i=1;i<=n;i++)
printf("*");
printf("\n");
if(n>0)
fac(n-1);
}
void main()
{
int n;
printf("请输入n:");scanf("%d",&n); fac(n);
}
正在阅读:
特岗教师述职报告范文02-25
乡镇委员会上半年推进文化市场监管工作部署06-05
2016年大理州(育好人专题)如何提高教师的人文素养与科学素养03-11
EPA测试方法-目录11-17
财务人员用数字字帖和大写字帖及教程08-15
舟山市现代生态农业发展思路研究10-20
完成句子1及答案11-26
浅谈心理因素在数学课堂教学中的作用10-12
猪儿嘴隧道检测方案 - 图文05-14
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 西北师范大学
- 期末
- 复习
- 语言
- 代码
- 部分
- 笔记
- 考试
- 机械设计第16章轴(重点工程班)新
- 如何攻克考研英语阅读中的生词
- 2015年考研英语真题考研英语词汇、长难句2(适合英语一和英语二)育明教育天津分校
- 必修5数学不等式典型例题解析(免费下载)
- 和协物业公司简介
- 【最新中公VIP】公务员录用考试申论标准预测试卷(10)
- 外企招聘面试中的各类题型
- 高级英语第一册Blackmail的赏析
- 单亲插班生 影评
- 2.1.2 指数函数及其性质基础知识过关检测
- 营养师三级计算题
- 实验 双绞线及信息模块制作
- 高利用系数条件下光阳厂延长高炉寿命的设计改进和技术措施
- 大一上学期高等数学必记公式
- 新建中学2011——2012年第二学期工作总结
- 闽教版小学三年级英语第一学期半期练习
- 六年级第五单元分数四则混合运算&183;练习一、二、三
- 新疆大学新疆地方史试卷3
- 在校大学生积累知识比塑造人格更重要四辩稿
- 第3章核磁共振氢谱