网站建设及推广优化,如何做像淘宝一样的网站,阿树 wordpress,电气工程师报考条件可能不是那么的完整#xff0c;先凑合看吧#xff0c;如果我学会如何修改以后#xff0c;我慢慢回来修改的
1.编写程序实现对两个字符串的连接功能#xff1b;
法一:不使用strcat函数,写程序直接实现#xff0c;记得添加结束符#xff0c;不然程序访问数组时候将变得不…可能不是那么的完整先凑合看吧如果我学会如何修改以后我慢慢回来修改的
1.编写程序实现对两个字符串的连接功能
法一:不使用strcat函数,写程序直接实现记得添加结束符不然程序访问数组时候将变得不可预测 /*1.编写程序实现对两个字符串的连接功能*/#include stdio.hint main(void)
{char str1[] hello,;char str2[] world!;char str[100] {0}; //用于存储连接后的字符串printf(字符串1: %2s 字符串2: %2s\n,str1,str2);int index1 0; //初始化下标while(str1[index1] ! \0) //复制str1到str{str[index1] str1[index1];index1;}int index2 0;while(str2[index2] ! \0) //复制str2到str{str[index1] str2[index2];index1;index2;}str[index1] \0; //在连接后的字符串末尾添加字符串结束符printf(连接后的字符串: %s\n,str);return 0;
}
法二:使用strcat函数 /*1.编写程序实现对两个字符串的连接功能,使用strcat函数*/#include stdio.h
#include string.hint main(void)
{char str[32] {0}; //存储连接后的字符串char str1[] hello,;char str2[] world!;printf(连接之前字符串1: %2s 字符串2: %2s\n,str1,str2);strcat(str,str1); //strcat函数连接字符串1和字符串2strcat(str,str2);printf(连接后的字符串是: %s\n,str);return 0;}
2.编写程序实现对字符串有效数据长度的计算
法一:不用strlen函数 *2.编写程序实现对字符串有效数据长度的计算*/#include stdio.hint main(void)
{char str[8];unsigned int len 0;printf(请输入一个字符串:);fgets(str,sizeof(str),stdin);while(str[len] ! \0) //遇到结束符停止循环{len; //若未遇到结束符则增加有效数据长度}//屏蔽这里为还不是很懂,fgets()函数会自动添加结束符,我想添加判断语句却不行/*if(len 7){printf(输入字符串太长,请重新输入。\n);}*/printf(字符串中有效数据长度为: %u\n,len - 1); //减去结束符就是长度return 0;
}
法二:strlen函数 /*strlen函数*/#include stdio.h
#include string.hint main(void)
{char str[8];unsigned int len;printf(请输入一个字符串:);fgets(str,sizeof(str),stdin);len strlen(str) - 1;printf(输入的有效的字符串长度是: %u\n,len);return 0;}
3.编程实现随机输出多个字符串中的某个; /*3.编程实现随机输出多个字符串中的某个;*/#include stdio.h
#include time.h
#include string.h
#include stdlib.h#define r 3
#define l 32int main(void)
{char arr[r][l] {hello,Spring Festival,Happy New Year};srand(time(NULL)); //生成种子数int randow;randow rand() % r; //随机生成选中的字符串的数字放入randow变量中printf(随机选中的字符串是: %s\n,arr[randow]);return 0;
}
思考题 计算字符串中所有数字的和 字符串“123abd23ee1”123 23 1 147
划重点讲解:积累字符串变数组的小算法 #include stdio.h
#include string.hint main(void)
{char str[64] {0};printf(请输入一个字符串:);scanf(%s,str);int num 0; // 初始化一个变量来存储连续数字的值int sum 0; // 初始化一个变量来存储所有数字的和for (int i 0; str[i] ! \0; i) // 循环遍历字符串中的每个字符{if (str[i] 0 str[i] 9) // 如果字符是数字{num num * 10 (str[i] - 0); // 将数字字符转换为数字并累加到num}else{sum num;num 0; //num清零处理再进入循环}}sum num; //加上最后一个数字因为最后一个为数字的话,后面空字符将无法进入for循环printf(字符串中数字总和为: %d\n, sum); // 打印字符串中数字的总和return 0;
#include stdio.h
#include string.h int main(void)
{char str[] 123abd23ee1; // 定义一个字符数组并初始化为给定的字符串printf(字符串为: %s\n,str); // 打印输入的字符串int sum 0; // 定义一个变量来存储数字的和int num 0; // 定义一个变量来存储当前数字的值int i 0; // 定义一个索引变量用于遍历字符串while(str[i] ! \0) // 当字符串结束符之前循环继续{if(str[i] 0 str[i] 9) // 如果数组中遍历到数字将进行此循环{num num * 10 (str[i] - 0); // 将当前数字乘以10然后加上字符转换为的数字,也就是2个数字变十位,3个数字变百位...}else // 如果是字符不是数字进行存储累加{sum num; // 将当前数字的和加到总和中num 0; // 将当前数字重置为0}}sum num; // 将最后一个数字加到总和中printf(字符串中所有数字的和为: %d\n,sum); // 打印字符串中所有数字的和return 0;
}
这个写完就进入函数啦嘿嘿