当前位置: 首页 > news >正文

c语言经典100例

1.字符串转为数字

#include <stdio.h>int strToInt(char *s)
{int num=0;int sign=1;int step=1;if (*s == '-'){sign = -1;s++;}while (*s >= '0'&&*s <= '9'){num = num*10+(*s-'0');step += 10;s++;}return num*sign;
}int main()
{char a[10] = "-1234";char *s =a ;printf("字符型:%s,整形:%d",s,strToInt(s));return 0;
}

2.二维字符数组转一维数组

#include <stdio.h>
#include <stdlib.h>int main()
{char a[3][3] = { 'w','w','w','a','a','a','l','l','l'};char n[10] = "";for (int i = 0,m=0; i < 3; ++i){for (int j = 0; j < 3; ++j){printf("%c",a[i][j]);n[m] = a[i][j];m++;}printf("\n");}n[9] = '\0';printf("%s\n",n);return 0;
}

3.数字转换为字符串

#include <stdio.h>void intToString(int num, char *str) {int i = 0;int isNegative = 0;// 处理负数if (num < 0) {isNegative = 1;num = -num; // 将负数转为正数}// 转换整数为字符串do {str[i++] = (num % 10) + '0'; // 获取当前数字并转换为字符num /= 10; // 去掉当前的最后一位数字} while (num > 0);// 如果是负数,添加负号if (isNegative) {str[i++] = '-';}// 添加字符串结束符str[i] = '\0';// 反转字符串for (int j = 0; j < i / 2; j++) {char temp = str[j];str[j] = str[i - j - 1];str[i - j - 1] = temp;}
}int main() {int number = -12345; // 示例整数char str[20]; // 确保足够大以存放转换结果intToString(number, str); // 调用转换函数printf("整数转换的字符串为:%s\n", str); // 输出结果return 0;
}

4.统计一行字符串中单词的个数

#include <stdio.h>int main()
{char a[] = "hello world   my man!";char *pa = a;int count = 0;int inWord = 0; // 用于跟踪是否在单词内部while (*pa != '\0') // 直到字符串的结尾{if (*pa == ' ' || *pa == '\t' || *pa == '\n') // 如果是空格、制表符或换行符{inWord = 0; // 不在单词内部}else{if (inWord == 0) // 进入一个新单词{count++;inWord = 1; // 现在在单词内部}}pa++; // 移动到下一个字符}printf("单词的数量为:%d\n", count);return 0;
}

5.删除数组中相同的数

#include <stdio.h>
#include <stdlib.h>void del(int *a, int size) {int *temp = (int*)malloc(size * sizeof(int)); // 临时数组,用于存储去重后的结果int pre = 0;int rear = 1;int j = 0;// 第一个元素肯定是要保留的temp[j++] = a[pre];// 遍历数组while (rear < size) {if (a[pre] != a[rear]) { // 如果当前元素和前一个元素不同temp[j++] = a[rear]; // 保存不重复的元素pre = rear;          // 更新前指针}rear++; // 后指针继续前进}// 输出去重后的数组printf("去重后的数组: ");for (int i = 0; i < j; i++) {printf("%d ", temp[i]);}printf("\n");free(temp); // 释放动态分配的内存
}int main() {int a[] = {1, 1, 1, 2, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 8, 9, 9, 9};int size = sizeof(a) / sizeof(a[0]); // 计算数组大小del(a, size); // 调用函数删除重复元素return 0;
}


http://www.mrgr.cn/news/48604.html

相关文章:

  • 蛋白质分析常用流(tao)程(lu)
  • 【Unity 100个实用小技巧】 UI分辨率适配
  • Jenkins---01
  • 项目管理的完整流程——你知道吗?
  • 基于yolov8、yolov5的果蔬检测系统(含UI界面、数据集、训练好的模型、Python代码)
  • STL11——手写一个简单版本的multimap(包含multimap的特点及基本用法)、set家族与map家族的对比(思维导图)
  • 【Java小功能】SFTP上传限速
  • Linux云计算 |【第五阶段】ARCHITECTURE-DAY1
  • 雷池社区版本SYSlog使用教程
  • 损失函数和梯度之间是什么关系
  • Unitree 3. Low level控制
  • 【项目】五子棋对战测试报告
  • metahuman如何导入UE5
  • 福建谷器参加泉州市中小企业数字化转型试点工作启动会
  • kubernetes详解
  • modelscope系统中 微调工程的forwardbackwardoptimizer调用流程
  • U盘有盘符却难开启?数据恢复全攻略
  • 喜讯∣企企通荣登“2024深圳行业领袖企业100强”榜单,彰显发展新质生产力的硬核实力!
  • AI绘图如何变现,看完这篇保姆级教程,你也会了!
  • 【C++】——继承(下)