问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言小程序优化

发布网友 发布时间:2022-04-27 00:14

我来回答

5个回答

热心网友 时间:2022-05-03 00:20

1. 针对本程序的改进:程序的优化一般有三点,一是performance(性能)上的优化,也称算法优化;二是结构上的优化,也称设计模式;三是细节上的优化,使他人能够更容易读懂你的程序。
(1)结构上的优化:
本程序分为三个功能,建议lz把这三个功能分别写成三个函数(也作“接口”),使他们独立开来,这样更清晰,维护起来更容易。
将abcde这几个变量定义成数组array[5];
(2)细节上的优化:
第一个功能可这样改:
int dig = 1;
int number = num;
while((number / 10) != 0)
{ dig ++;
number /= 10;
}
第二个功能可以这样改:(用一个循环即可)
int digit = dig;
while((digit--) != 0)
{ printf("%d", array[digit-1]); // 或反序array[4-digit]
}
第三个功能同第二个类似。

2. 还有一些其他优化的概念,大致跟你说说:
(1)整数或字符串(立即数)要定义成宏或常量,最好为常量,因为有编译检查
(2)最好分为多个文件实现,cpp和h文件各有各的作用,但这里功能较简单,所以可不用考虑
(3)容错能力:当输入不符合要求时,可让用户选择重新输入或有其他选择。即当错误发生时,这些错误不至于让程序运行终止,这在许多大型软件项目中尤为重要

3. 我说的也只是一些皮毛,推荐lz一些书籍
《深入浅出设计模式》《Effective C++》《大话设计模式》

热心网友 时间:2022-05-03 01:38

/////////////////////////运行结果///////////////////////////////////////////////////////////
12345
你输入的是5位数。
每一位分别是:
5 4 3 2 1 Press any key to continue
///////////////////////////////////////////代码/////////////////////////////////////////
#include "stdio.h"
#include "string.h"
main()
{
int i,nLen;
char a[6];
gets(a);
nLen = strlen(a);
printf("你输入的是%d位数。\n每一位分别是:\n",nLen);
for (i=nLen-1;i>=0;i--)
printf("%c ",a[i]);
}

热心网友 时间:2022-05-03 03:13

设输入num中的数据正确
while(num>0)
{ printf("%d ",num%10); num=num/10; }
就得到逆序输出各个数位数据的结果了

热心网友 时间:2022-05-03 05:04

#include <stdio.h>
void main()
{
int j, m;
char a[100], t;
printf("输入数字\n");
gets(a);
for (j=0;a[j]!='\0';j++)
{
printf("%c\n",a[j]);
}
printf("有%d位\n",j);
for (j=0;a[j]!='\0';j++);
for (m=0,j=j-1;m<j;m++,j--)
{
t=a[m];
a[m]=a[j];
a[j]=t;
}
puts(a);
}
可以是任意位 几十位也没问题

热心网友 时间:2022-05-03 07:12

#include <stdio.h>

int main()
{
int a, b = 10, c = 1;
int i, tmp[5];
scanf("%d", &a);

while (a / b >= 1)
{
c++;
b *= 10;
}
printf("位数是%d\n", c);

for (i = 0; i < c; i++)
{
b /= 10;
printf("%d位是%d ", b, a / b);
tmp[i] = a / b;
a %= b;
}
printf("\n");

for (i = 0; i < c; i++)
printf("%d ", tmp[c - 1 - i]);

printf("\n");
return 0;
}

如果输入以字符串纳入,异常简单,如果非以整数形式纳入,上面的程序可供参考!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
缺土的宝宝女孩名字车姓 推荐一些带有成字的女孩名字 江姓婴儿名字大全女孩2024龙宝宝 陌陌的安全等级和财富等级是什么 如何提高陌陌等级? 冰箱旧了是不是很耗电 手机号收不到LINE的手机验证码怎么办 注册line连我账号收不到验证码 日韩服属于哪里 lineplay进入别人家能说话吗 汽车悬挂出故障如何看出 C/C++代码在实时程序设计中是怎么优化的? c语言算法优化 发动机连杆小头铜套损坏会导致什么结果 【50分】c语言程序优化 发动机连杆轻微变形症状 如果C语言函数参数太多,可以怎么优化 连杆轴瓦坏了的现象 c语言如何优化代码不占cpu 汽车连杆活塞坏了怎么办 如何进行C盘手动优化? 如何优化C++程序代码编写 五菱宏光小连杆咚咚异响 几种C语言优化代码技巧 汽车前稳定杆连接杆坏了会怎么样 这个C语言程序怎么优化比较好? 奥迪a6前横向稳定杆小连杆坏了什么症状 梦见老公半夜抱被子回家 梦见老公抱着一口钟回家 梦见老公在外抱一堆茐回家 连杆弯曲和扭曲后会导致发动机什么原因 C中用什么方法进行效率优化 摩托车曲轴损坏都什么症状 c语言优化,有满意答案给100分 怎么判断平衡轴坏了? C程序优化 发动机轻微拉缸有何现象? 怎么样对我的C:/盘进行手动的优化 c语言怎样优化代码减少占用ram 牛皮席子粘怎么办 搽来搽去 还是粘 如何提高C语言代码效率 夏天躺在凉席上怎么才能不粘身子 如何优化C代码ARMCC问题,怎么解决 被子和凉席为什么黏黏的怎么办 藤席为什么粘身 网贷,信用卡逾期,准备强制上岸,即将被暴通讯录 提前发朋友圈通知通讯录好友 我该怎么说? 夏天用藤席,睡着会粘身么?什么样的凉席比较凉快,价位不要太高。 牛皮席硬席好还是软席好呀,有人用过皮老大牛皮凉席吗? 水牛皮凉席好吗 水牛皮凉席价格 凉席的保养方法