记录C语言入门学习·四

                                                                接着看字符串与数组            http://www.imooc.com/code/5626

    数组定义字符串的两种格式:

               1、char 字符串名称[长度] = "字符串值";

                2、char 字符串名称[长度] = {'字符1','字符2',...,'字符n','\0'};      //这里最后一个元素必须是'\0','\0'表示字符串的结束标志;

                ※采用第2种方式的时候在数组中不能写中文

※  在输出字符串的时候要使用:printf(“%s”,字符数组名字);或者puts(字符数组名字);

小实验

#include <stdio.h>
void say(char string[])                                              //这里数组参数的中括号[]别忘了写哟!
{
printf("%s\n", string);                                      //%s→输出字符串
}
int main()
{
char string[] = "我在慕课网上学习IT技能!";
say(string);
return 0;
}

调试结果:


试着将 第4行的 printf("%s\n", string);     替换为    puts(string);

调试结果一样!!!

****************************************************************************

※ strcpy()拷贝之后会覆盖原来字符串且不能对字符串常量进行拷贝

strcat在使用时s1与s2指的内存空间不能重叠,且s1要有足够的空间来容纳要复制的字符串

以以下小实验作为结束这个初级入门课程的里程碑:

在一个长度为10的整型数组里面,保存了班级10个学生的考试成绩。要求编写5个函数,分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序。

#include <stdio.h>
#define N 10
int sum(int a[])
{
int i, sum1 = 0;
for (i = 0; i<N; i++)
sum1 += a[i];
return sum1;
}
int max(int a[])
{
int i, sum = 0, temp = 0;
for (i = 0; i < N; i++)
{
if (a[i]>temp)
temp = a[i];
}
return temp;
}
int min(int a[])
{
int i, sum = 0, temp = a[0];
for (i = 1; i < N; i++)
{
if (a[i]<temp)
temp = a[i];
}
return temp;
}
float avg(int a[])
{
return (float)sum(a) / N;
}
void sort(int a[])
{
int i,j,temp;
for (i = 0; i < N; i++)
{
for (j = 0; j < N - i; j++)
{
if (a[j] < a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
printf("成绩排序:\n");
for (i = 0; i < N; i++)
printf("%d ",a[i]);
}
int main()
{
int score[N] = { 67, 98, 75, 63, 82, 79, 81, 91, 66, 84 };
printf("总分是%d分\n", sum(score));
printf("最高分是%d分。\n", max(score));
printf("最低分是%d分。\n", min(score));
printf("平均分是%.2f分。\n", avg(score));
sort(score);
return 0;
}

调试结果:


若对于以上源代码有个人见解的,欢迎一起学习交流!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值