- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、取出一个十进制正整数中的所以奇数数字,用这些数字构成一个最小数。
#includestdio.h
#includestdlib.h
void sort(int a[], int n)
{
int i, j, t;
for (i = 0;i n - 1;i++)
for (j = 0;j n - 1 - i;j++) /*利用双重循环,将数组按从小到大排列*/
if (a[j] a[j + 1])
{t = a[j];a[j] = a[j + 1];a[j + 1] = t; }
}
long arrange(long s) /*arrange函数的功能是取出十进制整数s中的所有奇数数字,用这些数字构成一个最小数,函数返回该数*/
{ int d, b[10], i, j = 0;
long s1 = 0;
while (s 0) /*利用循环对s数位分离,分离出个位、十位 、百位等各位上的数*/
{ d = s % 10;
if (d % 2 != 0) /*判断每一位上的数字是否为奇数*/
b[j++] = d; /*若为奇数则存放到b数组中*/
s /= 10;
}
sort(b, j); /*调用sort函数,将数组b从小到大排列*/
for (i = 0;i j;i++)
s1 = s1 * 10 + b[i]; /*求得用各位上的奇数组成的最小数 */
return s1; /*返回求得的数*/
}
void main()
{
long m, n;
FILE *fp; /*定义文件指针fp*/
if ((fp = fopen(myf2.out, w)) == NULL) /*涉及文件的打开*/
{printf(The file can not open!);exit(0);}
scanf(%ld, n); /*接收键盘输入的整型数据*/
m = arrange(n); /*键盘输入的数据作为实参调用arrange 函数*/
printf(%ld\n, m); /*将得到的最小数输出到屏幕及结果文件中*/
fprintf(fp, %ld\n, m);
printf(\nMy exam number is:WLJY001\n); /*将考生准考证号输出到屏幕及结果文件中*/
fprintf(fp, \nMy exam number is:WLJY001\n);
fclose(fp); /*关闭文件*/
}
2、按要求合并两个字符串
#includestdio.h
#includestring.h
#includestdlib.h
void fun(char *a, char *b, char *c) /*函数功能是先将b指向的字符串逆序存放,然后按a[0] ,b[0], a[1], b[1]…的顺序合并a字符串和b字符串到c指向的数组中,将a 或b中剩余的字符拼接在c数组的尾部*/
{int i, j;
char ch;
i = 0;j = strlen(b) - 1;
while (i j) /*利用while循环将数组b中的字符逆序存放*/
{ch = b[i];b[i] = b[j];b[j] = ch;
i++;j--;
}
while (*a || *b) /*利用while循环,通过判断*a || *b,将a、b数组间隔存放在c数组中*/
{ if (*a){*c = *a;c++;a++;}
if (*b){*c = *b;c++;b++;}
}
*c = \0;
}
void main()
{
FILE *fp; /*定义文件指针fp*/
char s1[80], s2[80], s[200]; /*声明3个一维数组*/
if ((fp = fopen(myf2.out, w)) == NULL)
{printf(cant open file);exit(0);}
printf(\nEnter s1 string:);
gets(s1);
printf(\nEnter s2 string:);
gets(s2); /*s1、s2 接收键盘输入的字符*/
fun(s1, s2, s); /*调用change函数,对字符串s2进行逆序变换,再合并s1字符串和s2字符串并保存到s数组中*/
printf(\nThe result is:%s\n, s);
/*将合并后产生的数组s中的字符串输出到屏
文档评论(0)