- C语言基础与算法-课后作业
- C语言程序设计编辑与调试环境
- 第2讲-变量常量运算符-课后作业
- 实验2-变量常量运算符
- 第3讲-输入输出-课后作业
- 实验3-输入输出
- 第3讲-输入输出-强化练习(供学有余力同学提升练习)
- 第4讲-选择结构-课后作业
- 实验4-选择结构
- 实验5-循环结构
- 第5讲-循环结构-课后作业
- 第5讲-循环结构-强化练习(供学有余力同学提升练习)
- 第6讲-循环结构应用-课后作业
- 课堂作业-第6讲
- 第6讲-循环结构应用-强化练习(供学有余力同学提升练习)
- 第七讲 课后作业-函数
- 实验七 函数编程练习
- 第7讲-函数-强化练习(供学有余力同学提升练习)
- 实验8-数组(一)
- 第8讲-数组(一)-强化练习(供学有余力同学提升练习)
- 实验9-数组(二)
- 实验10-结构体
- 课后作业-结构体
C语言基础与算法-课后作业
与C语言打个招呼
// ¹§Ï²Ä㣬¿ªÊ¼ÄãµÄ±à³Ì֮·£¡£¡£¡
// ÇëÔÚÏÂÃæµÄÄÚÈÝÖа´×ó²àÌáʾÍê³É³ÌÐò±àд£¡£¡£¡
#include<stdio.h>
int main()
{
//在此编写功能代码
printf("*****\n");
printf("Hello C program, I am coming!\n");
printf("*****");
return 0;
};//以上为主函数
C语言程序设计编辑与调试环境
打印输出 Hello World
#include<stdio.h>
int main(void)
{
/********* Begin *********/
printf("Hello World");
/********* End *********/
return 0;
}
打印输出图形
#include<stdio.h>
int main(void)
{
/********* Begin *********/
printf(" *\n");
printf(" ***\n");
printf(" OK\n");
printf(" Hello!\n");
printf("*********\n");
/********* End *********/
return 0;
}
求3个数的最大值
#include<stdio.h>
int main(void)
{
/********* Begin *********/
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b&&a>c)
max=a;
if(b>a&&b>c)
max=b;
if(c>a&&c>b)
max=c;
printf("max=%d",max);
/********* End *********/
return 0;
}
熟悉C语言调试过程
#include<stdio.h>
int main(void)
{
/********* Begin *********/
int x,y,z;
y=2;z=3;
scanf("%d",&x);
if (x==y+z)
printf("*****");
else
printf("#####" );
return 0;
/********* End *********/
}
第2讲-变量常量运算符-课后作业
第2关 你的活动面积有多大?
// ÇëÔÚÏÂÃæµÄÄÚÈÝÖа´×ó²àÌáʾÍê³É³ÌÐò±àд£¡£¡£¡
#include <stdio.h>
#define PI 3.14
int main(){
// 输入代码段
float r,s;
scanf("%f", &r);
s = PI * r * r;
printf("活动面积为:%g平方千米", s);
return 0;
}
实验2-变量常量运算符
圆的面积及周长
#include <stdio.h>
int main()
{
float r,s,c;
/*********begin*********/
scanf("%f",&r);
s=3.14*r*r;
c=2*3.14*r;
printf("请输入圆半径r:圆面积S=%f,圆周长C=%f",s,c);
/*********end*********/
return 0;
}
计算速度和位移
#include<stdio.h>
int main()
{
float t,a,v0,v,s;
/*********begin*********/
scanf("%f %f %f",&t,&a,&v0);
v=v0+a*t;
s=v0*t+0.5*a*t*t;
printf("当初始速度为%f时\n",v0);
printf("%fs时的速度为%f\n",t,v);
printf("%fs时的位移为%f\n",t,s);
/*********end*********/
return 0;
}
两点间的距离
# include<stdio.h>
# include<math.h>
int main()
{
/*********begin*********/
float x1,x2,y1,y2,distance;
scanf("%f %f %f %f",&x1,&y1,&x2,&y2);
distance = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
printf("%.2f",distance);
/*********end*********/
return 0;
}
第3讲-输入输出-课后作业
两点间的距离
#include <stdio.h>
void main()
{
float a,b,c,d,e;
/************************************/
// 请在此补充输入语句
scanf("%f%f",&a,&b);
c = a+b;
d = a-b;
e = a*b;
printf("两个数的和为%.3f,差为%.3f,积为%.3f",c,d,e);
/************************************/
// 请在此补充输出语句
}
实验3-输入输出
字符输入输出
#include <stdio.h>
void main()
{
char a,b;
/************************************/
// 请在此补充输入语句
scanf("%c%c",&a,&b);
printf("%c:%d\n",a,a);
printf("%c:%d",b,b);
/************************************/
// 请在此补充输出语句,输出字符及对应ASCII值
}
格式化输入输出
#include <stdio.h>
void main()
{
int a,b;
float x,y;
char c1,c2;
scanf("%d %d %f %f%c%c",&a,&b,&x,&y,&c1,&c2);
printf("%d, %d\n",a,b);
printf("%f, %f\n",x,y);
printf("%c, %c",c1,c2);
}
输出到文件
#include <stdio.h>
void main()
{
int a;
float b;
char c;
FILE *fp;
/************************************/
// 请在此补充输入语句
fp = fopen("step3/result/output.txt", "w");
scanf("%d%f%c",&a,&b,&c);
fprintf(fp,"%d, %.2f, %c",a,b,c);
/************************************/
// 请在此补充输出语句,将整数、浮点数、字母输出到文件中
fclose(fp);
printf("%d,%.3f,%c", a,b,c);
}
从文件输入
#include <stdio.h>
void main()
{
int a;
float b;
char c;
FILE *fp;
fp = fopen("step4/output.txt", "r");
/************************************/
// 请在此补充从文件读取数据语句
fscanf(fp,"%d,%f,%c",&a,&b,&c);
printf("%d\n",a);
printf("%f\n",b);
printf("%c\n",c);
fclose(fp);
/************************************/
// 请在此补充输出语句
}
第3讲-输入输出-强化练习(供学有余力同学提升练习)
输出字符的ASCII码
#include <stdio.h>
int main()
{
/*****************Begin******************/
char a;
scanf("%c",&a);
printf("\"The ASCII of \'%c\' is %d\".",a,a);
}
看看你的成绩
#include <stdio.h>
#include <stdlib.h>
int main()
{
float a,b,c,d,e,average;
/*****************Begin******************/
scanf("%f,%f,%f,%f,%f",&a,&b,&c,&d,&e);
average = (a + b + c + d + e)/5;
printf("average score = %.2f\n",average);
/***************** End ******************/
}
相反次序重新组合
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*****************Begin******************/
int a,b,c,d,e;
scanf("%d",&a);
b = a % 10;
c = (a / 10) % 10;
d = (a / 100) % 10;
e = (a / 1000) % 10;
printf("重新组合后:%d%d%d%d\n",b,c,d,e);
/***************** End ******************/
}
存款预算
#include <stdio.h>
#define YEAR 5
#define MONTHS 12
int main()
{
double rate; //读入月利率,double型
double capital,deposite=0; //每年年底预期取出的存款
int i = 0;
double a;
scanf("%lf%%,%lf",&rate,&capital);
a =(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100)*(1+rate/100);
while(i<YEAR){
deposite = (deposite + capital) /(a);
i++;
}
printf("At the first of the first year, you need deposit:%.2lf",deposite);
}
第4讲-选择结构-课后作业
你今天安全了吗?
#include<stdio.h>
int main()
{
float a;
scanf("%f",&a);
if( a > 37.3) printf("您的体温超过正常范围,请您尽快就诊!");
else printf("您的体温正常,恭喜您今天平安!");
}
实验4-选择结构
求三个数的最小数
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int a,b,c,min;
scanf("%d,%d,%d",&a,&b,&c);
if(a < b) min = a;
else min = b;
if(min < c) printf("min=%d",min);
else {min = c; printf("min=%d",min);};
/*********End**********/
return 0;
}
求平方根
#include<stdio.h>
#include<math.h>
int main(void)
{
/*********Begin*********/
float x;
int a;
printf("请输入一个小于1000的正数:");
scanf("%f",&x);
if(x <= 0) printf("输入数非正数,请重新输入.");
else {
if(x > 1000) printf("输入数大于1000,请重新输入.");
else {
a = sqrt(x);
printf("平方根为:%d",a);
}
};
/*********End**********/
return 0;
}
求分段函数
#include<stdio.h>
int main(void)
{
/*********Begin*********/
float x,y;
scanf("%f",&x);
if(x < 1) y = x;
else {
if(x <= 10)y = 2*x - 1;
else {y = 3*x -11;};
};
printf("%.2f",y);
/*********End**********/
return 0;
}
学生成绩等级换算
#include<stdio.h>
int main()
{
float x;
char a;
scanf("%f",&x);
if(x < 0 || x > 100 ) printf("Score is error!");
else {
if(x < 60) a = 'E';
else {
if(x < 70) a = 'D';
else {
if(x < 80) a = 'C';
else {
if(x < 90) a = 'B';
else {
a = 'A';
};
};
};
};
printf("%c",a);
};
return 0;
}
判断闰年-扩展题
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int year;
scanf("%d",&year);
if((year%4==0&&year%100)||(year%400==0))
{
printf("%d是闰年!",year);
}
else
{
printf("%d不是闰年!",year);
}
return 0;
/*********End**********/
return 0;
}
实验5-循环结构
字符统计
#include<stdio.h>
int main()
{
char ch;
int letters = 0,space = 0,digit =0,other = 0;
while((ch = getchar()) != '#')
{
if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) letters++;
else if(ch == ' ') space++;
else if(ch >= '0' && ch <='9') digit++;
else other++;
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d",letters,space,digit,other);
}
水仙花数
// 请在此编写完成代码!
// 直接输出所有水仙花数,数与数之间用空格隔开。
#include<stdio.h>
int main()
{
int i,j,k,n;
for(n = 100;n < 1000;n++)
{
i = n / 100;
j = n / 10 - i * 10;
k = n % 10;
if(n == i*i*i + j*j*j + k*k*k)
{
printf("%d ",n);
}
}
}
猴子吃桃
// 请在此编写完成代码!
#include<stdio.h>
int main()
{
int i,j,n;
i = 1;
for(n=1;n < 10;n++)
{
j = (i + 1) * 2;
i = j;
}
printf("%d",j);
}
牛顿迭代法解方程
// 请在此编写完成代码!
#include<stdio.h>
#include<math.h>
int main()
{
double x1,x0,f,f1;
x1 = 1.5;
do
{
x0 = x1;
f = (2 * x0 * x0 * x0 - 4 * x0 * x0 + 3 * x0 - 6);
f1 = (6 * x0 * x0 - 8 * x0 + 3);
x1 = x0 -f / f1;
}while(fabs(x1-x0) > 1e-6);
printf("方程的根是%.2lf",x1);
}
第5讲-循环结构-课后作业
求倒数和
// 请在此编写完成代码!
#include<stdio.h>
int main()
{
int n,i;
double end=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
end += 1.0 /i;
}
printf("%lf",end);
}
第5讲-循环结构-强化练习(供学有余力同学提升练习)
C循环-求平均成绩
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int number,i;
float average,scores=0,score;
scanf("%d",&number);
if(number < 0) printf("the number of students:the scores:average=0.00");
else {for(i=0;i<number;i++)
{
scanf("%f",&score);
scores += score;
}
average = scores / number;
printf("the number of students:the scores:average=%.2f",average);
}
/*********End**********/
return 0;
}
C循环-求各位数字之积
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int n,a,mul_result=1;
scanf("%d",&n);
a=n%10;
while(n!=0)
{
mul_result=mul_result*a;
n=n/10;
a=n%10;
}
printf("%d",mul_result);
/*********End**********/
}
C循环-求阶乘之和
#include<stdio.h>
int main(void)
{
int i,j,sum=1,add=0,number;
scanf("%d",&number);
if(number == 0) add = 1;
else if(number < 0) add = 0;
else
for(i=1;i <= number;i++)
{
for(j=1;j <= i;j++)
{
sum *= j;
}
add += sum;
sum = 1;
}
printf("%d",add);
return 0;
}
C循环-水仙花数
#include<stdio.h>
int main()
{
int n=1000,i,a,b,c;
for(i=100;i<n;i++)
{
a = (i / 100 %10);
b = (i / 10 %10);
c = (i%10);
if(i == a*a*a + b*b*b + c*c*c)
{
printf("%d ",i);
}
}
}
C循环-寻找完数
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
int i,j,sum;
for(i=2;i<=a;i++)
{
sum=0;
for(j=1;j<i;j++)
{
if(i%j==0)
sum+=j;
}
if(i==sum)
printf("%d\n",i);
}
return 0;
}
分数求和
#include<stdio.h>
int main()
{
int i;
float sum=0;
for(i=1;i<=100;i++)
{
if(i%2==0)
sum -= (1.0 / i);
else
sum += (1.0 / i);
}
printf("%.3f",sum);
}
第6讲-循环结构应用-课后作业
素数判断
#include <stdio.h>
int main()
{
//在这里添加你的代码
int a,i,flag;
scanf("%d",&a);
for(i=2;i<a;i++)
{
if(a % 2 == 0) {flag=1; break;}
else flag = 0;
}
if(!flag) printf("%d是素数",a);
else printf("%d不是素数",a);
return 0;
}
课堂作业-第6讲
编程,输出九九乘法表。
#include<stdio.h>
int main()
{
int i, j;
for(i=1; i<=9; i++)
{for(j=1; j<=i; j++)
printf("%d*%d=%-3d", j, i, i*j);
printf("\n");}
return 0;
}
编程,输入正整数并显示它们
#include<stdio.h>
int main(){
int i,a;
for(i=0;i<=5;i++){
scanf("%d",&a);
if(a>=0) printf("n=%d;\n",a);
}
}
编程,循环实现《孙子算经》中物不知数问题的求解。
#include<stdio.h>
int main( )
{
int i;
i=2;
while(1)
{
if(i%3==2&&i%5==3)
{ printf("%d\n", i);
break; }
i=i+7;
}
return 0;
}
第6讲-循环结构应用-强化练习(供学有余力同学提升练习)
输出若干个学生成绩中的最高分.要求用指针函数实现
#include<stdio.h>
/*********Begin*********/
/*********End**********/
int main(void)
{
int n,s[110];
int ans;
int max,a,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&s[i]);
/*********Begin*********/
max = s[0];
for(a=1;a<n;a++){
if(max < s[a]) max = s[a];
}
ans = max;
/*********End**********/
printf("%d",ans );
return 0;
}
采用指针变量表示地址的方法输入输出数组中的个元素
#include<stdio.h>
#include<malloc.h>
int main(void)
{
/*********Begin*********/
int n;
int *p;
int i;
scanf("%d",&n);
p=(int*)malloc(sizeof(int)*n);
for (i=0;i<n;i++)
scanf("%d",&p[i]);
for (i=0;i<n;i++)
printf("%d ",p[i]);
/*********End**********/
return 0;
}
用指针实现数组循环移动
#include<stdio.h>
#include<malloc.h>
int *solve(int *s,int n,int m){
/*********Begin*********/
int i,t;
int b[110];
for (i=0;i<n;i++)
{
b[i]=s[i];
}
for(i=0;i<n;i++)
{
if(i-m<0)
s[i]=b[i-m+n];
else
s[i]=b[i-m];
}
return s;
/*********End**********/
}
int main(void)
{
int n,m,s[110];
int *ans;
int i;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&s[i]);
ans = (int *)malloc(sizeof(int)*n);
/*********Begin*********/
solve(s,n,m);
ans = s;
/*********End**********/
for(i=0;i<n;i++){
if(i==0) printf("%d",*ans++ );
else printf(" %d",*ans++ );
}
return 0;
}
第七讲 课后作业-函数
函数初级编程练习
#include<stdio.h>
#include<math.h>
//在下面添加函数
float distance(float x1,float y1,float x2,float y2){
float dis;
dis = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
return dis
}
//
int main()
{
float x1,y1,x2,y2;
scanf("%f %f %f %f",&x1,&y1,&x2,&y2);
float d;
d=distance(x1,y1,x2,y2);
printf("%.1f",d);
return 0;
}
实验七 函数编程练习
求解三角形的面积
#include<stdio.h>
#include<math.h>
//完善以下函数
float distance(float x1,float y1,float x2,float y2)
{
float dis;
dis = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
return dis;
};
//完善以下函数
float triangleArea(float x1,float y1,float x2,float y2,float x3,float y3)
{
float a,b,c,p,s;
a = distance(x1,y1,x2,y2);
b = distance(x1,y1,x3,y3);
c = distance(x2,y2,x3,y3);
p = (a + b + c) / 2;
s = sqrt(p * (p-a) * (p-b) * (p-c));
return s;
};
int main()
{
float x1,y1,x2,y2,x3,y3;
float s;
scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,&y3);
s = triangleArea (x1,y1,x2,y2,x3,y3);
printf("%.1f",s);
}
利用函数交换变量的值
#include <stdio.h>
// 完善以下代码
void exchange(int *a,int *b)
{
int x;
x = *a;
*a = *b;
*b = x;
}
//完善以下代码
void main()
{
int m,n;
scanf("%d %d",&m,&n);
exchange(&m,&n);
printf("%d %d",m,n);
}
求素数函数
#include <stdio.h>
int prime(int n)
{
int i,flag=1;
for(i=2;i < n;i++){
if(n % 2 ==0){
flag = 0;
break;
}
}
return flag;
}
int main(void)
{ // prime函数的声明,可以不写形参的名字
int n;
//printf("input an integer:");
scanf("%d",&n);
if (prime(n))
printf("%d is a prime.\n",n);
else
printf("%d is not a prime.\n",n);
return 0;
}
统计字符类别个数
#include <stdio.h>
int main()
{
void count(int *,int *,int *,int *);
int letter=0,space=0,digit=0,others=0;
count(&letter,&space,&digit,&others);
printf("\n字母数 %d\n空格数 %d\n数字数 %d\n其他字符数 %d\n",letter,space,digit,others);
return 0;
}
void count(int *l,int *d,int *s,int *t)
{
char ch;
/**********************************************************/
// 此处添加代码
while((ch = getchar()) != '#')
{
if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {*l = *l + 1;
}
else if(ch == 32) *d = *d + 1;
else if(ch >= '0' && ch <='9') *s = *s + 1;
else *t = *t + 1;
}
/**********************************************************/
};
第7讲-函数-强化练习(供学有余力同学提升练习)
计算三角形的面积和周长。
#include<stdio.h>
#include<math.h>
//完善以下函数
float distance(float x1,float y1,float x2,float y2)
{
float dis;
dis = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
return dis;
};
//完善以下函数
float triangleArea(float a,float b,float c)
{
float p,s;
p = (a + b + c) / 2;
s = sqrt(p * (p-a) * (p-b) * (p-c));
return s;
};
int main()
{
float a,b,c,area;
int s;
scanf("%f%f%f",&a,&b,&c);
if((a + b > c)&&( a + c > b)&&( b + c > a)){
s = a + b + c;
area = triangleArea(a,b,c);
printf("area=%.2f,s=%d",area,s);
}else printf("Not triangle");
}
用函数求解级数。
#include<stdio.h>
int circle(int n,int x){
int m,result=x;
for(m=1;m<n;m++){
result *=x ;
}
return result;
}
int main()
{
double x,z,result=1,i=1,c;
scanf("%lf%lf",&x,&z);
do{
if(i >= 12) break;
c = (1.0/circle(i,x));
result += c;
i++;
}while((1.0/circle(i,x)) >= z);
printf("%.15lf",result);
}
求正整数n内的所有素数。
#include <stdio.h>
int prime(int n)
{
int i,flag=1;
for(i=2;i < n;i++){
if(n % i ==0){
flag = 0;
break;
}
}
return flag;
}
int main(void)
{
int n,m;
//printf("input an integer:");
scanf("%d",&n);
for(m=2;m <= n;m++){
if (prime(m))
printf("%d ",m);
}
return 0;
}
正整数n转换成十六进制字符串逆序输出
#include<stdio.h>
#include<string.h>
int main(){
int num;
char buff1[10];
char buff2[10];
scanf("%d",&num);
sprintf(buff1,"%X",num);
int len = strlen(buff1);
for (int i = 0;i<len ;i++){
buff2[i] = buff1[len-i-1];
}
buff2[len] = '\0';
printf("%s",buff2);
}
实验8-数组(一)
打印直方图
/*请完善程序使实现功能:打印直方图。*/
#include <stdio.h>
#include <math.h>
int main( )
{ int a[5];
int i,n;
for(i=0;i<5; i++)
scanf("%d",&a[i]);
/*****代码开始*****/
for(i=0;i<5;i++)
{
for(n=1;n<=a[i];n++)
{
printf("*");
};
n=1;
printf("\n");
}
/*****代码结束*****/
return 0;
}
计算数组的平均值
#include "stdio.h"
//参数x[]表示要查找的数组,n表示该数组的元素数目。
float fun(int x[],int n)
{
// 请在此添加你的代码
/********** Begin *********/
float sum=0;
for(int i=0;i < n;i++){
sum += x[i];
}
return sum / n;
/********** End **********/
}
int main()
{
int a[10],i;
float ave;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
ave=fun(a,10);
printf("%f\n",ave);
return 0;
}
计算数组的最大值
#include<stdio.h>
int fun(int x[])
{
int max,b,c;
b = x[0];
for(c = 1;c < 10;c++)
{
if(b < x[c])b=x[c];
}
return b;
}
int main()
{
int a[10],i,max;
for(i = 0;i < 10;i++)
{
scanf("%d",&a[i]);
}
max = fun(a);
printf("%d",max);
}
按大小排序
#include <stdio.h>
int main()
{
/********** Begin *********/
int x[10];
int i,j,k,m;
for(i = 0;i < 10;i++)
{
scanf("%d",&x[i]);
}
for(j = 0;j < 9;j++){
for(k = 0;k < 9 - j;k++)
{
if( x[k] > x[k + 1] ){
m = x[k];
x[k] = x[k + 1];
x[k + 1] = m;
}
}
}
for(i = 0;i < 10;i++){
printf("%d ",x[i]);
}
/********** End **********/
}
C语言基础与算法-课后作业
数组插入元素
#include <stdio.h>
int main()
{
/********** Begin *********/
int x[10] = {1,4,6,9,11,25,31,46,83,100},m,i,j;
int n[11]= {1,4,6,9,11,25,31,46,83,100};
scanf("%d",&m);
if( m > 100){
n[10] = m;
}
for(i=0;i < 10;i++)
{
if(m <= x[i]){
n[i] = m;
for(j=i+1;j<=10;j++){
n[j] = x[j-1];
};
break;
}
}
for(i=0;i<=10;i++){
printf("%d ",n[i]);
}
/********** End **********/
}
按大小排序
#include <stdio.h>
int main()
{
/********** Begin *********/
int x[10];
int i,j,k,m;
for(i = 0;i < 10;i++)
{
scanf("%d",&x[i]);
}
for(j = 0;j < 9;j++){
for(k = 0;k < 9 - j;k++)
{
if( x[k] > x[k + 1] ){
m = x[k];
x[k] = x[k + 1];
x[k + 1] = m;
}
}
}
for(i = 0;i < 10;i++){
printf("%d ",x[i]);
}
/********** End **********/
}
找最小值
#include "stdio.h"
//参数x[]表示要查找的数组,n表示该数组的元素数目。
int fun(int x[],int n)
{
// 请在此添加你的代码
/********** Begin *********/
int m,min,i;
min = x[0];
for(i=1;i<n;i++){
if(min > x[i]) min=x[i];
}
return min;
/********** End **********/
}
int main()
{
int a[10],i,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
min=fun(a,10);
printf("%d\n",min);
return 0;
}
求二维数组的最小值
#include <stdio.h>//输入输出函数
int main()
{
int a[5][4];
int min,i,j;
for(i=0;i<5;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
min = a[0][0];
for(i=0;i<5;i++)
for(j=0;j<4;j++){
if(a[i][j]<min){
min=a[i][j];
}
}
printf("min=%d",min);
return 0;
}
实验9-数组(二)
元音字符串复制
#include<stdio.h>
#include<string.h>
int main()
{
char a[30];
int i;
gets(a);
for(i=0;i<strlen(a);i++)
{
switch(a[i]){
case 'a': printf("a");break;
case 'e': printf("e");break;
case 'i': printf("i");break;
case 'o': printf("o");break;
case 'u': printf("u");break;
}
}
return 0;
}
求二维数组最大值和平均值
#include<stdio.h>
int main()
{
int a[4][4];
int i,j,max;
float ave,sum=0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++){
scanf("%d",&a[i][j]);
}
}
max = a[0][0];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++){
if(a[i][j] > max) max = a[i][j];
sum += a[i][j];
}
}
printf("最大值:%d\n平均值:%f",max,sum/16);
return 0;
}
回文字符串(挑战题)
//判断一个字符串是否回文字符串。
#include<stdio.h>
#include<string.h>
int main()
{
char str[80];
int i,j,flag=1;
gets(str);
j = strlen(str);
for(i=0,j--;i<j;i++,j--){
if(str[i] != str[j]){
flag = 0;
break;
}
}
if(flag==1)
printf("Yes");
else
printf("No");
return 0;
}
实验10-结构体
复数运算
#include<stdio.h>
struct complex{
float real;
float imag;
};
struct complex com_add(struct complex a,struct complex b){
struct complex sum;
sum.real = a.real + b.real;
sum.imag = a.imag + b.imag;
return sum;
}
struct complex com_diff(struct complex a,struct complex b){
struct complex diff;
diff.real = a.real - b.real;
diff.imag = a.imag - b.imag;
return diff;
}
struct complex com_prod(struct complex a,struct complex b){
struct complex prod;
prod.real = a.real * b.real - a.imag * b.imag;
prod.imag = a.real * b.imag + a.imag * b.real;
return prod;
}
struct complex com_div(struct complex a,struct complex b){
struct complex div;
float num;
div.real = a.real * b.real + a.imag * b.imag;
div.imag = a.imag * b.real - a.real * b.imag;
num = b.real * b.real + b.imag * b.imag;
div.real /=num;
div.imag /= num;
return div;
}
struct complex input(){
struct complex a;
scanf("%f%f",&a.real,&a.imag);
return a;
}
int output(struct complex a){
printf("%.2f%+.2fi\n",a.real,a.imag);
return 0;
}
int main()
{
struct complex a,b,c;
a = input();
b = input();
printf("两个复数分别是\n");
output(a);
output(b);
printf("复数和是");
c = com_add(a,b);
output(c);
printf("复数差是");
c = com_diff(a,b);
output(c);
printf("复数积是");
c = com_prod(a,b);
output(c);
printf("复数商是");
c = com_div(a,b);
output(c);
}
计算学生平均成绩
//在这里添加您的代码
struct student
{
int num;
char name[20];
float score[3];
float aver;
}stu[5];
void input(struct student stu[])
{
int i=0;
for(i;i<5;i++)
{
printf("input scores of student %d:\nNO.:name:score 1:score 2:score 3:",i+1);
scanf("%d%s%f%f%f",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
}
}
float average(struct student stu[])
{
int i;
float aver1,sum=0;
for(i=0;i<5;i++)
{
sum=sum+stu[i].aver;
}
aver1=sum/5;
return(aver1);
}
struct student max(struct student stu[])
{
int i,m=0;
for(i=0;i<5;i++)
{
if(stu[i].aver>stu[m].aver)
m=i;
}
return(stu[m]);
}
int main()
{
struct student stu[5],*p=stu;
struct student stud;
float a;
input(p);
a=average(p);
printf("功课的平均成绩分别为:%.1f\n",a);
stud=max(p);
printf("最高分的同学信息是:\n");
printf("No.: %d, name: %s, score:%.1f, %.1f, %.1f, average: %.1f",stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);
return 0;
}
课后作业-结构体
水果价格计算
#include <stdio.h>
//在这里添加代码
FILE *fp;
struct prices {
char marketName[80];
char address[80];
int phone;
char name[80];
float apple;
float banana;
float pineapple;
float grape;
float mango;
}price[3];
int main()
{
int i,j;
float max;
fp = fopen("price.txt","r");
for(i=0;i<3;i++){
fscanf(fp,"%s %s %d %s %f %f %f %f %f",&price[i].marketName,&price[i].address,&price[i].phone,&price[i].name,&price[i].apple,&price[i].banana,&price[i].pineapple,&price[i].grape,&price[i].mango);
};
max = price[0].apple + price[0].banana + price[0].pineapple + price[0].grape + price[0].mango;
j=0;
for(i=1;i<3;i++)
{
if(price[i].apple + price[i].banana + price[i].pineapple + price[i].grape + price[i].mango > max) j = i;
}
printf("水果价格最高的市场为:%s\n",price[j].marketName);
printf("其地址为:%s\n",price[j].address);
printf("其联系电话为:%d\n",price[j].phone);
printf("其联系人为:%s\n",price[j].name);
printf("其苹果价格为:%.2f\n",price[j].apple);
printf("其香蕉价格为:%.2f\n",price[j].banana);
printf("其菠萝价格为:%.2f\n",price[j].pineapple);
printf("其葡萄价格为:%.2f\n",price[j].grape);
printf("其芒果价格为:%.2f",price[j].mango);
fclose(fp);
}
15 条评论
哥,数组2啥时候更新
66
更新了
修业真tm帅
修勾救我
你爹我来救你了
麻溜上班
自生自灭
我爱苦苦的码人
求更
晚上更
大佬6
菜鸟一枚→_→