c语言实验word文档良心出品Word格式文档下载.docx

上传人:b****5 文档编号:20343281 上传时间:2023-01-22 格式:DOCX 页数:29 大小:22.73KB
下载 相关 举报
c语言实验word文档良心出品Word格式文档下载.docx_第1页
第1页 / 共29页
c语言实验word文档良心出品Word格式文档下载.docx_第2页
第2页 / 共29页
c语言实验word文档良心出品Word格式文档下载.docx_第3页
第3页 / 共29页
c语言实验word文档良心出品Word格式文档下载.docx_第4页
第4页 / 共29页
c语言实验word文档良心出品Word格式文档下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

c语言实验word文档良心出品Word格式文档下载.docx

《c语言实验word文档良心出品Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言实验word文档良心出品Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。

c语言实验word文档良心出品Word格式文档下载.docx

{

temp=grade[i];

grade[i]=grade[j];

grade[j]=temp;

}

printf("

%6d"

grade[i]);

\n"

);

//3.从键盘上输入10个整数,并放入一个一维数组中,

//然后将其逆序重新存放。

//即:

第1个元素和第10个元素互换,第2个元素和第9个元素互换……分别输出数组原来的值和兑换后各元素的值。

#defineN10

intnumber[10]={78,89,56,98,74,66,23,58,68,75};

inti;

N/2;

{

temp=number[i];

number[i]=number[N-i-1];

number[N-i-1]=temp;

N;

number[i]);

//4.计算一个4×

4矩阵两个对角线之和

#defineM4

#defineN4

inta[M][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};

intsum=0;

M;

for(j=0;

{

if(i==j||i+j==M-1)

sum=sum+a[i][j];

}

sum=%d\n"

sum);

//随机产生20个[45,210]范围内的正整数,实现以下功能:

//a)求最大值、最小值和平均值。

//b)求小于平均值的数据的个数。

#include<

time.h>

stdlib.h>

#defineN20

inta[N];

intmax,min,sum=0;

floatavg;

intcount=0;

srand(time(NULL));

/*初始化随机因子*/

i++)

a[i]=rand()%(210-45+1)+45;

/*生成45~210之间的整数*/

max=a[0];

min=a[0];

if(a[i]>

max)

max=a[i];

if(a[i]<

min)

min=a[i];

sum=sum+a[i];

avg=(float)sum/N;

生成的20个随机数为:

%5d"

if((i+1)%10==0)

printf("

最大值为:

%d;

最小值为:

平均值为:

%f;

max,min,avg);

avg)

count++;

小于平均值的数据个数为:

%d\n"

count);

//下面程序的功能是对两个字符串进行比较,

//然后输出两个字符串中第一个不相同字符的ASCII码之差。

//例如:

输入的两个字符串分别为"

abcdefg"

和"

abceef"

,则输出为-1。

{

charstr1[100],str2[100];

inti,s;

Enterstring1:

"

gets(str1);

Enterstring2:

gets(str2);

i=0;

while((str1[i]==str2[i]&

&

str1[i]!

='

\0'

))

i++;

s=str1[i]-str2[i];

s);

//编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。

//不用strcpy函数。

复制时'

也要复制过去,'

后面的字符不复制。

chars1[100],s2[100];

gets(s1);

while((s1[i]!

{s2[i]=s1[i];

s2[i]=s1[i];

s2=%s\n"

s2);

//输入若干个字符串(最多10个),

//求出每个字符串的长度,并打印最长字符串的内容。

//以"

stop"

作为输入的最后一个字符串。

string.h>

charstr[10][100];

inti=0,k;

intmax_len,max_pos;

gets(str[i]);

max_len=strlen(str[i]);

max_pos=0;

while(i<

10&

strcmp(str[i],"

)!

=0){

gets(str[i]);

for(k=0;

k<

i;

k++)

第%d字符串长度为%d\n"

k+1,strlen(str[k]));

if((int)strlen(str[k])>

max_len)

max_len=strlen(str[k]);

max_pos=k;

最长字符串的内容为:

%s\n"

str[max_pos]);

inti=0;

第%d字符串长度为%d"

i+1,strlen(str[i]));

if((int)strlen(str[i])>

max_len=strlen(str[i]);

max_pos=i;

%s"

实验6—4

charstr[]="

AbcDEfg"

;

intk=0;

转换前的字符串为:

str);

while(str[k]!

if(str[k]>

a'

str[k]<

z'

str[k]=str[k]-32;

elseif(str[k]>

A'

Z'

str[k]=str[k]+32;

k++;

实验7—1—2

intsub(intn)

{

return(n/10+n%10);

intx,y;

x);

y=sub(sub(sub(x)));

y);

实验7—1—1

fun(intx)

{intp;

if(x==0||x==1)return(3);

p=x-fun(x-2);

returnp;

{printf("

%d\n"

fun(9));

//2.写一个判素数的函数intisprime(inta){……},

//在主函数输入一个整数,并调用isprime函数,输出是否为素数的信息。

math.h>

intisprime(inta);

intn;

n);

if(isprime(n)==1)

%d是一个素数!

n);

else

%d不是一个素数\n!

"

intisprime(inta)

intk;

for(k=2;

=sqrt(a);

if(a%k==0)return0;

return1;

//3.用递归方法求n阶勒让德多项式的值,递归公式为:

floatp(floatx,intn);

floatx;

请输入x,n:

<

xn>

:

%f%d"

x,&

p(%f,%d)=%f\n"

x,n,p(x,n));

floatp(floatx,intn)

if(n==0)

return1;

elseif(n==1)

returnx;

return((2*n-1)*x-p(x,n-1)-(n-1)*p(x,n-1))/n;

//4.编写一函数,计算任一输入的整数的各位数字之和。

//主函数包括输入输出和调用该函数。

intsum_digit(intn);

intnum;

请输入一个整数:

%d的各位数字之和为%d\n"

num,sum_digit(num));

intsum_digit(intn)

inttemp_sum;

temp_sum=n%10;

while(n/10!

n=n/10;

temp_sum=temp_sum+n%10;

returntemp_sum;

//1.编写将n个数从小到大排序的函数,

//要求该函数返回排序过程中交换的次数,并设计main函数,验证算法正确与否。

//intsort(intarr[],intn){……….}

intsort(intarr[],intn);

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

初始序列为:

a[k]);

将序列按从小到大顺序排序,经过%d次变换后,序列为:

sort(a,10));

intsort(intarr[],intn)

n-1;

n;

if(arr[i]>

arr[j])

temp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

count++;

returncount;

}

//2.写一函数voidstrcat_stu(chars1[41],chars2[20]){……….},

//将两个字符串连接,并设计main函数,验证算法正确与否。

voidstrcat_stu(chars1[41],chars2[20])

intk=0,m=0;

while(s1[k]!

while(s2[m]!

s1[k]=s2[m];

m++;

s1[k]='

charstr1[41],str2[20];

strcpy(str1,"

strcpy(str2,"

123456"

strcat_stu(str1,str2);

str1);

f(inta)

intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

实验8—3

main()

inta=1,i;

3;

f(a));

//4.输入10个学生5门课的成绩,分别用函数实现下列功能:

//

(1)计算每个学生的平均分。

//

(2)计算每门课的平均分。

//(3)找出所有50个分数中最高的分数所对应的学生和课程;

//(4)计算平均分方差

floatgrade[10][5]={{78,89,76,98,87},{79,83,79,92,85},

{72,81,79,91,86},{75,84,71,95,81},

{71,84,71,92,84},{78,86,72,93,82},

{75,86,73,93,88},{76,87,73,95,83},

{79,84,75,94,89},{72,89,74,98,84},};

floataverage[10],total[10];

floataverage_course[5],total_course[5];

floatmax_grade;

intmax_course,max_stu;

floatf1=0,f2=0,variance;

---------------计算每个学生的平均分----------------------\n"

total[i]=0;

5;

total[i]=total[i]+grade[i][j];

average[i]=total[i]/5;

第%d个学生的平均分为%5.2f\n"

i+1,average[i]);

\n----------------计算每门课的平均分-----------------------\n"

total_course[i]=0;

total_course[i]+=grade[j][i];

average_course[i]=total_course[i]/10;

第%d门课程的平均分为%5.2f\n"

i+1,average_course[i]);

\n---------找出所有50个分数中最高的分数所对应的学生和课程-----------\n"

max_grade=grade[0][0];

max_stu=0;

max_course=0;

if(max_grade<

grade[i][j])

max_grade=grade[i][j];

max_stu=i;

max_course=j;

50个分数中第%d个学生的第%d门课程分数最高,最高分为%5.2f\n"

max_stu+1,max_course+1,max_grade);

\n-------------------计算平均分方差----------------------\n"

f1=f1+average[i]*average[i];

f2=f2+average[i];

variance=f1/10-(f2/10)*(f2/10);

平均分方差为:

%8.4f\n"

variance);

 

实验9—1—1

#include"

stdio.h"

voidsub(intx,inty,int*z)

*z=y-x;

inta,b,c;

sub(10,5,&

a);

sub(7,a,&

b);

sub(a,b,&

c);

%d,%d,%d\n"

a,b,c);

实验9—1—2

inta[]={2,4,6,8,10},y=1,x,*p;

p=&

a[1];

for(x=0;

x<

x++)

y+=*(p+x);

//定义函数voidf(floatx,int*y,float*z),

//将x的整数部分存于y所指存储单元,

//将x的小数部分存于z所指存储单元。

//并设计main函数,验证算法正确与否。

voidf(floatx,int*y,float*z)

*y=(int)x;

*z=x-*y;

inty;

floatz;

%f"

f(x,&

y,&

z);

%f的整数部分为:

%d,小数部分为:

%f\n"

x,y,z);

//下面程序实现从10个数中找出最大值和最小值。

//请补充程序完整。

intmax,min;

find_max_min(int*p,intn)

int*q;

max=min=*p;

for(q=p;

q<

p+n;

q++)

if(*q>

max)max=*q;

elseif(*q<

min)min=*q;

voidmain()

inti,num[10]={12,45,78,485,78,25,-78,69,45,-789};

i<

i++)

num[i]);

find_max_min(num,10);

max=%d,min=%d\n"

max,min);

//4.输入10个整数,将其中最小的数与第一个数对换,

//把最大的数与最后一个数对换。

模仿第2题使用指针实现。

//写3个函数:

①输入10个数。

②进行处理。

③输出10个数。

voidinput_data(inta[],intn);

voidprintf_data(inta[],intn);

voiddeal_data(inta[],intn);

voidswap(int*m,int*n);

input_data(a,N);

deal_data(a,N);

printf_data(a,N);

voidinput_data(inta[],intn)

scanf("

a[i]);

voidprintf_data(inta[],intn)

for(i=0;

voiddeal_data(inta[],intn)

intmin_pos=0,max_p

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1