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

C语言入门

6-12 综合练习
#include <stdio.h>
#include <string.h>
int totalScore(int score[])
{
int i,sum=0;
for(i=0;i<10;i++)
{
sum +=score[i];
}
return sum;
}
int maxScore(int score[])
{
int i,max=0;
for(i=0;i<10;i++)
{
if(score[i]>max)
max=score[i];
}
return max;
}
int minScore(int score[])
{
int i,min=100;
for(i=0;i<10;i++)
{
if(min>score[i])
min=score[i];
}
return min;
}
float averageScore(int score[])
{
return totalScore(score)/10;
}
void sortScore(int score[])
{
int i,j,temp;
for(i=0;i<10;i++)
{
for(j=0;j<9;j++)
{
if(score[j]>score[j+1])
{
temp = score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
}

int main()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
int i;
printf("%d\n",totalScore(score));
printf("%d\n",maxScore(score));
printf("%d\n",minScore(score));
printf("%1.1f\n",averageScore(score));
sortScore(score);
for(i=0;i<10;i++)
{
printf("%d ",score[i]);
}

return 0;
}
2018-11-26 查看完整代码
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%2==0 && j%2==0)
sum +=arr[i][j];
}

}
sum +=arr[1][1];
printf("对角线元素之和是:%d\n",sum);
return 0;
}
2018-11-26 查看完整代码
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;

// printf("%d",arr1);
//printf("%d",arr2);
return 0;
}
2018-11-26 查看完整代码
6-7 字符串与数组
#include <stdio.h>
/* 定义say函数 */
void say(char string[]) //数组参数应该怎么写呢?
{
printf("%s\n",string); //打印字符串
}

int main()
{
//定义字符串数组
char string[] = "我在慕课网上学习IT技能!";
say(string);//调用say函数输出字符串
return 0;
}
2018-11-24 查看完整代码
6-6 数组的应用(二)
#include <stdio.h>
int getIndex(int arr[5],int value)
{
int i;
int index;
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;
}
2018-11-24 查看完整代码
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;
}
2018-11-24 查看完整代码
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;
}
2018-11-24 查看完整代码
6-2 数组的遍历
#include <stdio.h>
int main()
{
int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
//补全代码实现对数组arr的遍历
//可以采用你自己喜欢的循环结果
int i;
for(i=0;i<10;i++)
{
printf("%d",arr[i]);
}

return 0;
}
2018-11-24 查看完整代码
6-1 数组初体验
#include <stdio.h>
int main()
{
//第一种形式
int arrFirst[3] = {3,6,9};
//第二种形式
int arrSecond[] = {3,6,9};
//第三种形式
int arrThird[3];
//给arrThird数组每个元素初始化
arrThird[0]=3;
arrThird[1]=6;
arrThird[2]=9;
//输出第一个数组中的第二个元素
printf("%d\n", arrFirst[1]);
//输出第二个数组中的第二个元素
printf("%d\n",arrSecond[1] );
//输出第三个数组中的第二个元素
printf("%d\n", arrThird[1]);
return 0;
}
2018-11-24 查看完整代码
5-14 综合练习
#include <stdio.h>

float getCharge(float Time,float Dis)
{
float n=2.3;
float cost;
if (Time>=23||Time<5)
n *= 1.2;
else if(Dis<=3)
cost=13;
else
cost=(Dis-3)*n;
return cost;
}
int main()
{
float cost1,cost2;
cost1=getCharge(9.0,12.0)+1;
cost2=getCharge(18.0,12.0)+1;
printf("小明上班打车的费用为:%f\n",cost1);
printf("小明下班打车的费用为:%f\n",cost2);
return 0;
}
2018-11-24 查看完整代码
5-13 内部函数与外部函数
#include <stdio.h>
#include "test.c" //引用test.c文件
extern void printLine() //这里定义的方法对吗?
{
printf("**************\n");
}
int main()
{
say();
return 0;
}
2018-11-24 查看完整代码
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;
2018-11-23 查看完整代码
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;
}
2018-11-23 查看完整代码
5-9 递归函数练习
#include <stdio.h>
/*
* 请使用递归函数完成本题
* 小编已将正确代码放在左侧任务的“不知道怎么办”里
* 小编希望各位童鞋独立完成哦~
*/
int getAge(int numPeople)
{
int age;
if(numPeople==1)
age = 10;
else
age = getAge(numPeople-1)+2;
return age;
}


int main()
{
int fifthAge = getAge(5);
printf("第5个人的年龄是%d岁", fifthAge);
return 0;
}
2018-11-23 查看完整代码
5-8 递归函数(二)
#include <stdio.h>
int getPeachNumber(n)
{
int num; //定义所剩桃子数
if(n==10)
{
return 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;
}
2018-11-23 查看完整代码
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;
}
2018-11-23 查看完整代码
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;
}
2018-11-23 查看完整代码
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;
}
2018-11-23 查看完整代码
5-3 有参与无参
#include <stdio.h>
/* 考虑一下哪个输出该用无参函数哪个输出该用有参函数呢? */
int class1()
{
printf("%s\n","小明在慕客网上学习");
return 0;
}

int class2(int n)
{
printf("小明在慕课网上学习了%d门课程\n",n);
return 0;
}

int main()
{
class1();
class2(5);
return 0;
}
2018-11-23 查看完整代码
5-2 函数调用
#include <stdio.h>

/* 自定义整型函数 sayLove() */
int sayLove()
{
//在这里输入输出语句printf,输出内容为I Love imooc
printf("%s\n", "I Love imooc");
return 0;
}

/* 自定义整型函数 dividLine() */
int dividLine()
{
printf("%s\n", "*************");
return 0;
}

/* 主函数 */
int main()
{
/* 调用所写函数 */
dividLine();
sayLove();
dividLine();
return 0;
}
2018-11-23 查看完整代码
首页上一页123下一页尾页
意见反馈 帮助中心 APP下载
官方微信