良品铺子网站规划和建设保定seo排名外包
news/
2025/10/9 4:17:04/
文章来源:
良品铺子网站规划和建设,保定seo排名外包,设计策划网站,就有公司域名怎么建设网站问题 C: 21级期末机试-密码设置#xff08;20分#xff09; [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 128 MB
题目描述 小南有个密码本#xff0c;详细记录着她在每个网站上的密码#xff0c;但是有的密码设置可能存在安全问题#xff0c;她想请聪明的你帮她…问题 C: 21级期末机试-密码设置20分 [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 128 MB
题目描述 小南有个密码本详细记录着她在每个网站上的密码但是有的密码设置可能存在安全问题她想请聪明的你帮她看看密码设置是否正确。安全密码的判断有以下几个规则 1密码长度必须≥8 2包含数字 3包含大写字母 4包含小写字母 5至少包含6个特殊字符! # $ * ~中的一个 以上规则除1必须满足外其他四个条件至少满足其中三个才是安全的密码。 输入 多组样例。每行一个样例输入一个字符串S代表密码字符串S的长度len(S)满足1≤len(S)≤30且只包含密码设置要求的数字、字母和特殊字符无其他非法字符。 输出 对于每一组样例输出一个判断结果。如果满足安全密码的设置要求则输出yes不满足则输出no。每个输出占一行。 样例输入 Copy ttttttttt 123Aa~ 123456QqWe aQwe!1234 123$#abc 样例输出 Copy no no yes yes yes
#includestdio.h
#includestring.h
int main(void)
{char arr[31] { 0 };while (~scanf(%s, arr)){int sum 0;int flag1 0, flag2 0, flag3 0, flag4 0;int n strlen(arr);if (n 8){for (int i 0; i n; i){if (arr[i] 1 arr[i] 9)flag1 1;else if (arr[i] A arr[i] Z)flag2 1;else if (arr[i] a arr[i] z)flag3 1;else if (arr[i] ! || arr[i] || arr[i] # || arr[i] $ || arr[i] * || arr[i] ~)flag4 1;}if (flag1 1)sum;if (flag2 1)sum;if (flag3 1)sum;if (flag4 1)sum;if (sum 3){printf(yes\n);}else{printf(no\n);}}else{printf(no\n);}}return 0;
}
问题 D: 21级期末机试-实数相加10分 [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 128 MB
题目描述 C语言就要期末考试了经过一学期的学习小南学会了分数相加、分数相减、大整数相加可就是没有尝试过将两个最大达400位的实数相加。在调试过程中小南遇到了很多问题一直解决不了。你能帮他编写一个程序实现两个实数相加吗 输入 多组样例。每行输入一个样例包括两个用空格分开的实数x和y其中x和y是长度不大于400位的非负实数。注意非负实数中也可能包括非负整数正整数会省略小数点和后面的0只包括整数部分。 输出 对于每一行输入输出两个实数x和y相加的结果。输出结果中整数部分的前面和小数部分的末尾不输出多余的0如果是整数不输出小数点和小数点后面的0。每个输出占一行。 样例输入 Copy 1.1 2.9 1.1111111111 2.3444323343 1 1.1 1.1111 1.1889 样例输出 Copy 4 3.4555434454 2.1 2.3
#includestdio.h
#includestring.h
#define count(xLength,xzheng,x,xxiao) \for (int i 0; i xLength; i)\
{\if (x[i] ! .)\xzheng;\else\{\xxiao xLength - xzheng - 1;break;\}\}
#define MAX(x,y) xy?x:yvoid fuxiaoshu(char* x, int xzheng, char* xnew, int xxiao)
{while (*xnew ! 0) xnew;for (int i xzheng 1;i xzheng 1 xxiao; i){*xnew x[i];xnew;}
}
int main(void)
{char x[410] { 0 };char y[410] { 0 };while (~scanf(%s %s, x, y)){int xLength strlen(x), xzheng 0, xxiao 0;int yLength strlen(y), yzheng 0, yxiao 0;count(xLength, xzheng, x, xxiao);count(yLength, yzheng, y, yxiao);int mzheng MAX(xLength, yLength);char xnew[900] { 0 }, ynew[900] { 0 };if (xzheng yzheng){strncpy(xnew, x,xzheng);for (int i 0; i xzheng - yzheng; i){ynew[i] 0;}strcat(ynew, y);for (int i xzheng; i yLengthxzheng; i){ynew[i] 0;}}else{strncpy(ynew, y,yzheng);for (int i 0; i yzheng - xzheng; i){xnew[i] 0;}strcat(xnew, x);for (int i yzheng; i yLengthyzheng; i){xnew[i] 0;}}mzheng (MAX(xzheng, yzheng)) (MAX(xxiao, yxiao))1;fuxiaoshu(x, xzheng, xnew, xxiao);fuxiaoshu(y, yzheng, ynew, yxiao);char arr[900] { 0 };for (int i mzheng-2; i1;i--){if (xnew[i] 0)xnew[i] 0;if (ynew[i] 0 )ynew[i] 0;arr[i] xnew[i] - 0 ynew[i] - 00;if (arr[i] -0 10){arr[i] - 10;arr[i - 1];}}arr[0] xnew[0] - 0 ynew[0] - 0;printf(%d, arr[0]);arr[0] 0;for (int i 1; i (MAX(xzheng, yzheng)); i){printf(%c, arr[i]);}int nn strlen(arr)-1;while (arr[nn] 0nn (MAX(xzheng, yzheng))){arr[nn] 0;nn--;}if (nn1 (MAX(xzheng, yzheng))){printf(.%s\n, arr (MAX(xzheng, yzheng)));}else{printf(\n);}}return 0;
}我的思路是把整数和小数的小数点去掉当作一个大的字符串相加。给少的前面补齐0后面补齐0. 还有一种思路是分开算将整数和小数。 犯的错误数组开的小了
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932181.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!