您的位置:首页 > 编程语言 > C语言/C++

《C语言程序设计教程》(主编黄迪明、余勤)第五章课后习题答案

2017-07-11 14:43 267 查看
       在阅读代码前,先说一下这本书的在版编目(CIP)数据:C语言程序设计教程/黄迪明、余勤主编.--北京:国防工业出版社,2006.5   
ISBN 7-118-04516-0

       所有代码均在 VS2013
中成功运行。若有不妥之处,非常欢迎您提出问题,若能提出改进意见,不胜感激!

5.3  自守数是指一个数的平方的尾数等于该数本身的自然数。例如:25*25=625,,7*76=5776。

        请求出20000以内的自守数。

#include<stdio.h>
void main()
{
printf(" 自守数是指一个数的平方的尾数等于该数本身的自然数。例如:25*25=625,,7*76=5776。请求出20000以内的自守数。\n\n");
int i = 0,n=1;
int a1[20001] = { 0 }, a2[20001] = { 0 }, *p1, *p2;
for ( i = 1; i <= 20000; i++)
{
a1[i - 1] = i ;
a2[i - 1] = i*i ;
}
p1 = a1;
p2 = a2;
printf("自守数有:\n");
for ( i = 1; i <= 20000; i++)
{
if ((*p1==*p2)||(*p1==*p2%10)||(*p1==*p2%100)||(*p1==*p2%1000)||(*p1==*p2%10000))
{
printf("%6d\t",*p1);
n = n + 1;
if (n%6==0)
{
printf("\n");
}
}
p1++;
p2++;
}
getch();
}

5.4  输入一个字符串,要求按照相反的顺序输出各个自费。例如,输入:AbcD,输出:DcbA。(这里要求用指针遍历各个字符)

#include<stdio.h>
#include<string.h>
void main()
{
printf(" 输入一个字符串,要求按照相反的顺序输出各个自费。例如,输入:AbcD,输出:DcbA。(这里要求用指针遍历各个字符)");
int len;
char c[100] = { '\0' };
char *p;
printf("请输入一个字符串:");
gets(c);
len = strlen(c);
p = &c[len-1];
printf("\n按相反顺序输出的各个字符为:");
for (; p >= c; p--)
{
printf("%c", *p);
}
getch();
}

5.5  找出两个字符串中相同的字符。

#include<stdio.h>
#include<string.h>
void main()
{
printf("找出两个字符串中相同的字符。\n\n");
int len = 0, k = 0, c3len = 0, i = 0;
char c1[100] = { '\0' };
char c2[100] = { '\0' };
char c3[100] = { '\0' };
printf("请输入一个字符串:");
gets(c1);
printf("请输入第二个字符串:");
gets(c2);
char *p = &c2;
len = strlen(c2);
printf("两个字符串中相同的字符为:");
for (; p <= &c2[len - 1]; p++)
{
if (strchr(c1, *p) >= 1)
{
c3len = strlen(c3);
if (c3len == 0)
{
printf("%c ", *p);
c3[0] = *p;
k = k + 1;
}
else
{
c3len = strlen(c3);
for (i = 0; i < c3len; i++)
{
if (strchr(c3, *p) >= 1)
{
continue;
}
else
{
c3[k] = *p;
k = k + 1;
printf("%c ", *p);
}
}

}

}
}
if (k == 0)
{
printf(" 0 个.");
}
getch();
}

                                                           业精于勤荒于嬉,行成于思毁于随。撸代码的你,好好加油吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 编程 设计
相关文章推荐