编程风格:
1. 使用 /**/ 代替 //,防止误注释;
2. 变量或函数命名需要具有可读性,采用驼峰命名法;
3. 局部变量要初始化;
4. if语句和else语句, switch和default必须成对出现;
5. 判断语句中条件过长,尽量换行,增加可读性
6. 实现某种功能的function单独封装,写在main函数之外;
7. function要先声明,再使用;
8. 确认function的返回值类型,要能返回正确的值;
9. function的入参需要进行判断;
10.定义变量的代码和执行代码要适当留出间距,增强可读性;
【字符串】
字符串01:输入一行字符串 s ,将该字符串中的大写字母转换成对应的小写字母,将小写字母转换成大写字母,其余字符不变返回新的字符串。
字符串02:编写一个函数,其作用是将输入的字符串反转过来。
【数组】
【链表】
字符串01:输入一行字符串 s ,将该字符串中的大写字母转换成对应的小写字母,将小写字母转换成大写字母,其余字符不变返回新的字符串。
#include <stdio.h>
#include <string.h>
#define SIZE 128
int lettersConversion(char *strIn);
int main(void){
int ret = 0;
char strIn[SIZE] = {0};
printf("Please Enter The String: \n");
scanf("%s", strIn);
ret = lettersConversion(strIn);
if (ret == 0){
printf("The function of lettersConversion runs successfully!\n");
}
else{
printf("The function of lettersConversion runs failed!\n");
}
return 0;
}
int lettersConversion(char *strIn){
int len = strlen(strIn);
if (strIn == NULL){
return -1;
}
else{
for (int i = 0; i < len; i++){
if ( (strIn[i] >= 'A') && (strIn[i] <= 'Z') ){
strIn[i] += 32;
}
else if ( (strIn[i] >= 'a') && (strIn[i] <= 'z') ){
strIn[i] -= 32;
}
else{
;
}
}
printf("%s\n", strIn);
return 0;
}
}
执行结果:
字符串02:编写一个函数,其作用是将输入的字符串反转过来。
#include <stdio.h>
#include <string.h>
#define MAX 128
int reverseString(char *str);
int main(void){
int ret = 0;
char strIn[MAX] = {0};
printf("Please Enter the Input String: \n");
scanf("%s", strIn);
ret = reverseString(strIn);
if (ret == 0){
printf("The function of reverseString runs successfully!\n");
}
else{
printf("The function of reverseString runs failed!\n");
}
return 0;
}
int reverseString(char *str){
if (str == NULL){
return -1;
}
else{
int len = strlen(str);
char tmp = ' ';
int leftIndex = 0;
int rightIndex = len - 1;
while (leftIndex <= rightIndex){
tmp = str[leftIndex];
str[leftIndex] = str[rightIndex];
str[rightIndex] = tmp;
leftIndex ++;
rightIndex --;
}
printf("%s\n", str);
return 0;
}
}