1、/#includecassertusingnamespacestd;boolg_flag26;voidstringFilter(constchar*pInputStr,longlInputLen,*pOutputStr)assert(pInputStr!=NULL);inti0;if(pInputStr=NULL|lInputLen1)return;const*ppInputStr;while(*p0)(g_flag(*p-a)p+;elsepOutputStri+*p;g_flag*p1;pOutputStri;main()memset(g_flag,0,sizeof(g_flag);inp
2、utabacacde*outputnewcharstrlen(input)+1;stringFilter(input,strlen(input),output);coutoutputsizetempnum;while(num)/计算位数size+;/=10;for(intjsize;j-)pOutputStri+j-10temp%10;+=size;*(p-1);cccddeccstringZip(input,strlen(input),output);3.通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数
3、”与“运算符”之间以一个空格隔开。补充说明:1、操作数为正整数,不需要考虑计算结果溢出的情况。2、若输入算式格式错误,输出结果为“0”。void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);lInputLen:“4 + 7”“11”“4 - 7”“-3”“9 + 7”“0” 注:格式错误arithmetic(const*inputpOutputStr;sumoperator1operator2*tempchar5;*opetemp;while(*input/获得操作数1sum*10(*input+);i
4、nput+;sum;*temp+*input+;(strlen(ope)1*output+/获得操作数2switch(*ope)case+:itoa(operator1+operator2,pOutputStr,10);break;-itoa(operator1-operator2,pOutputStr,10);default:47outputarithmetic(input,strlen(input),output);4.输入1-50个数字,求出最小数和最大数的和/华为2014年机试题1:输入1-50个数字,求出最小数和最大数的和/输入以逗号隔开#include#defineN50sort(
5、inta,intn);main(void)str100;aN=0;gets(str);/要点1:动态的输入1-50个整数,不能确定个数,只能用字符串输入,然后分离出来i=0;j=0;sign=1;while(stri!=if(stri!,/输入时要在半角输入if(stri/要点:2:有负整数的输入/i+;/易错点1sign=-1;else/不用else的话,负号也会减去0aj=aj*10stri-/要点3:输入的可以是多位数if(stri=stri=/这个判断是在i自加以后aj=aj*sign;/易错点2/易错点3j+;/j就是a数组的个数范围0到j-1sort(a,j);printf(MaxnumberMin%d,a0+aj-1);n)/选择排序i,j;k;for(i=0;in-1;i+)k=i;for(j=i+1;jaj)k=j;if(i!=k)ak;akai;ai%-5d,ai);puts(1. 初始化顺序表2. 计算线性表的长度3. 插入结点4. 追加结点5. 删除结点6. 查找结点1. 按照序号查找结点2. 按照关键字查找结点7. 显示所有的结点8. 顺序表操作完整示例
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1