为了账号安全,请及时绑定邮箱和手机立即绑定
课程 \ C语言入门

C语言入门

6-12 综合练习
#include <stdio.h>
#define N 10
int main()
{

int score[N]={67,98,75,63,82,79,81,91,66,84};
int sum=0;
int max=score[0];
int min=score[0];
int avg=0;
int temp;
int getSum(int arr[])
{
int i=0;
for(i=0;i<N;i++)
{
sum+=score[i];
}
return sum;
}
int getMax(int arr[])
{
int i=0;
for(i=0;i<N;i++)
{
if(max<score[i])
max=score[i];
}
return max;
}
int getMin(int arr[])
{
int i;
for(i=0;i<N;i++)
{
if(min>score[i])
min=score[i];
}
return min;
}
int getAvg(int arr[])
{
avg=sum/N;
return avg;
}
void getOrder(int arr[])
{
int i,j;
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(score[j]<score[j+1])
{
int temp;
temp = score[j];
score[j] = score[j+1];
score[j+1]=temp;
}
}
}
for(i=0;i<N;i++)
{

printf("%d ",score[i]);

}
}
printf("考试的总分为:%d\n",getSum(score));
printf("考试的最高分为:%d\n",getMax(score));
printf("考试的最低分为:%d\n",getMin(score));
printf("考试的平均分为:%d\n",getAvg(score));
printf("考试成绩降序排序为:\n");
getOrder(score);
return 0;
}
2020-11-17 查看完整代码
6-11 多维数组的遍历
#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int sum=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i+j==2||i==j)
sum+=arr[i][j];
}
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}
2020-11-17 查看完整代码
6-9 多维数组
#include <stdio.h>
int main()
{
//使用第一种方式初始化方式声明并初始化二维数组arr1
int arr1[2][2] = {{10,20},{30,40}};
//使用第二种方式初始化方式声明并初始化二维数组arr2
int arr2[2][2];
arr2[0][0] = 10;
arr2[0][1] = 20;
arr2[1][0] = 30;
arr2[1][1] = 40;
return 0;
}
2020-11-17 查看完整代码
6-8 字符串函数
#include <stdio.h>
#include <string.h>
int main()
{
char s1[100]="";
char s2[]="我爱,";
char s3[]="慕课网";
/*在以下补全代码*/
strcpy(s1,s2);
strcat(s1,s3);
printf("%s\n",s1);
return 0;
}
2020-11-17 查看完整代码
6-7 字符串与数组
#include <stdio.h>
/* 定义say函数 */
void say(char string[]) //数组参数应该怎么写呢?
{
puts(string);//打印字符串
// printf("%s\n", string);
}

int main()
{
//定义字符串数组
char string[] = "我在慕课网上学习IT技能!";
say(string); //调用say函数输出字符串
return 0;
}
2020-11-17 查看完整代码
6-6 数组的应用(二)
#include <stdio.h>
int getIndex(int arr[5],int value)
{
int i;
int index = -1;
for(i=0;i<5;i++)
{
/* 请完善数组查询功能 */
if(arr[i] == value){
index = i;
break;
}
}
return index;
}

int main()
{
int arr[5]={3,12,9,8,6};
int value = 8;
int index = getIndex(arr, value); //这里应该传什么参数呢?
if(index!=-1)
{
printf("%d在数组中存在,下标为:%d\n",value,index);
}
else
{
printf("%d在数组中不存在。\n",value);
}
return 0;
}
2020-11-17 查看完整代码
6-5 数组的应用(一)
#include <stdio.h>
int main()
{
double arr[]={1.78, 1.77, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80};
int i,j;
printf("\n************排队前*************\n");
for(i=0;i<10;i++)
{
if(i != 9)
printf("%.2f, ", arr[i]); //%.2f表示小数点后精确到两位
else
printf("%.2f", arr[i]); //%.2f表示小数点后精确到两位
}
for(i=8; i>=0; i--)
{
for(j=0;j<=i;j++)
{
if(arr[j]>arr[j+1]) //当前面的数比后面的数大时
{
double temp; //定义临时变量temp
temp = arr[j]; //将前面的数赋值给temp
arr[j] = arr[j+1]; //前后之数颠倒位置
arr[j+1] = temp; //将较大的数放在后面
}
}
}
printf("\n************排队后*************\n");
for(i=0;i<10;i++)
{
if(i != 9)
printf("%.2f, ", arr[i]); //%.2f表示小数点后精确到两位
else
printf("%.2f", arr[i]); //%.2f表示小数点后精确到两位
}
return 0;
}
2020-11-17 查看完整代码
6-4 数组作为函数参数
#include <stdio.h>
void replaceMax(int arr[],int value)
{
int max = arr[0];
int index = 0;
int i;
for(i=1;i<5;i++)
{
if(arr[i]>max)
{
max = arr[i]; //将数组中较大的数赋值给max
index = i; //记录当前索引
}
}
arr[index] = value;
}

int main()
{
int arr1[] = {10,41,3,12,22};
int arr2[] = {1,2,3,4,5};
int i;
replaceMax(arr1, arr2[0]); //将数组arr1和数组arr2的第一个元素传入函数中
for(i=0;i<5;i++)
{
printf("%d ",arr1[i]);
}
return 0;
}
2020-11-17 查看完整代码
6-2 数组的遍历
#include <stdio.h>
int main()
{
int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
//补全代码实现对数组arr的遍历
//可以采用你自己喜欢的循环结果
for(int i =0; i < 10; i++){
printf("%d\n",arr[i]);
}
return 0;
}
2020-11-17 查看完整代码
6-1 数组初体验
#include <stdio.h>
int main()
{
//第一种形式
int arrFirst[3] = {1,2,3};
//第二种形式
int arrSecond[] = {1,2,3};
//第三种形式
int arrThird[3];
//给arrThird数组每个元素初始化
arrThird[0]=1;
arrThird[1]=2;
arrThird[2]=3;
//输出第一个数组中的第二个元素
printf("%d\n", arrFirst[1]);
//输出第二个数组中的第二个元素
printf("%d\n", arrSecond[1]);
//输出第三个数组中的第二个元素
printf("%d\n", arrThird[1]);
return 0;
}
2020-11-17 查看完整代码
5-14 综合练习
#include <stdio.h>
/*
time 乘车时间
long 乘车距离
*/
double getTaxiFee(int time, double distance){
double fee = 0; //乘车费用
fee += 1;//燃油附加费
if(time < 0 || time > 24){
printf("乘车时间错误\n");
}
if(distance <= 0){
printf("乘车距离错误\n");
}
if(distance <= 3){ //乘车距离小于3公里
fee +=13;
} else { //乘车距离大于3公里
if(time > 5 && time <= 23){ //正常乘车时间
fee = 13 + (distance - 3)*2.3;
} else { //非正常乘车时间
fee = 13 + (distance -3)*2.3*1.2;
}
}
return fee;
}
int main()
{
double fee = getTaxiFee(9,12) + getTaxiFee(18,12);
printf("小明每天上班打车总费用为%f\n", fee);
return 0;
}
2020-11-17 查看完整代码
5-13 内部函数与外部函数
#include <stdio.h>
#include "test.c" //引用test.c文件
extern void printLine() //这里定义的方法对吗?
{
printf("**************\n");
}
int main()
{
say();
return 0;
}
2020-11-17 查看完整代码
5-11 变量存储类别
#include <stdio.h>
void fn()
{
static int x = 1; //定义静态局部变量
x*=2;
printf("x=%d\n",x);
}

int main()
{
int i;
for(i=0;i<5;i++)
{
fn();
}
extern int x; //调用外部变量
printf("x=%d\n",x);
return 0;
}
int x=100;
2020-11-17 查看完整代码
5-10 局部与全局
#include <stdio.h>
int x = 77;
void fn1()
{
printf("fn1(): x=%d\n", x);
}
int main()
{
int x = 10;
if(x>0)
{
int x = 100;
x /= 2;
printf("if语句内, x=%d\n", x);
}
printf("main方法内, x=%d\n", x);
fn1();
return 0;
}
2020-11-17 查看完整代码
5-9 递归函数练习
#include <stdio.h>
/*
* 请使用递归函数完成本题
* 小编已将正确代码放在左侧任务的“不知道怎么办”里
* 小编希望各位童鞋独立完成哦~
*/
int getAge(int n)
{
if(n == 5){
n = 10;
} else {
n = (getAge(n+1) + 2);
}
return n;
}
int main()
{
int age = getAge(1);
printf("第5个人的年龄是%d岁", age);
return 0;
}
2020-11-17 查看完整代码
5-8 递归函数(二)
#include <stdio.h>
int getPeachNumber(int n)
{
int num; //定义所剩桃子数
if(n==10)
{
num = 1; //递归结束条件
}
else
{
num = (getPeachNumber(n+1) + 1) * 2; //这里是不应该用递归呢?
printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数
}
return num;
}
int main()
{
int num = getPeachNumber(1);
printf("猴子第一天摘了:%d个桃子。\n", num);
return 0;
}
2020-11-17 查看完整代码
5-7 递归函数(一)
#include <stdio.h>
/* 定义获取单词数量的函数 */
int getWordNumber(int n)
{
if(n == 1)
{
return 1; //第一天只会1个单词
}
else{
return getWordNumber(n-1) + n ; //到第天会的单词数量
}
}
int main()
{
int num = getWordNumber(10); //获取会了的单词数量
printf("小明第10天记了:%d个单词。\n", num);
return 0;
}
2020-11-17 查看完整代码
5-5 函数的返回值
#include <stdio.h>
/* Jone算出结果应该怎么写函数? */
int joneResult(int x, int y, int z)
{
int sum = x+y+z;
return sum/3; //这里是不是应该将sum返回呢?
}
/* Jack没有算出结果只说了一句话是不是应该用无返回值函数? */
void jackResult(int x, int y, int z)
{
printf("我算不出来\n");
}
int main()
{
int a, b, c;
a = 10;
b = 20;
c = 30;
//Jone的返回值类型是什么?
int jR = joneResult(a, b, c);
printf("Jone运算结果是:%d\n", jR);
printf("Jack运算结果是:");
//Jack没有算出结果只说了句话,是不是直接调用函数就可以了?
jackResult(a,b,c);
return 0;
}
2020-11-17 查看完整代码
5-4 形参与实参
#include <stdio.h>
int getGirth(int a,int b,int c)
{
if( (a+b)<=c || (a+c)<=b || (b+c)<=a ) //判断是否为三角形
{
printf("不构成三角形\n");
return 0;
}
else
{
int cirf = a + b + c; //计算三角形周长
return cirf;
}

}

int main()
{
/* 定义三角形三边长 */
int a, b, c;
a = 3;
b = 4;
c = 5;
printf("三角形的周长是:%d\n", getGirth(a,b,c)); //调用周长函数
return 0;
}
2020-11-17 查看完整代码
5-3 有参与无参
#include <stdio.h>
/* 考虑一下哪个输出该用无参函数哪个输出该用有参函数呢? */

/*
* 无参的反法
*/
void learn1(){
printf("小明在慕课网上学习\n");
}

/*
* 带参的反法
* num 学习课程数
*/
void learn2(int num){
printf("小明在慕课网上已经参与学习了%d门课程\n", num);
}

int main()
{
learn1();
learn2(3);
return 0;
}
2020-11-17 查看完整代码
首页上一页123下一页尾页
意见反馈 帮助中心 APP下载
官方微信