C语言的三道题

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:14:06
各位大虾有空写写,我自己写的好象很复杂.
1 A是一个四位数,且是一个完全平方数(一个数如果开方结果为一个整数,则成为完全平方数);B是一个四位数,且每一位的数字都相同;C也是一个四位的完全平方数。已知C=A-B,请编程求出所有这样的四位数A。

2 一个数如果从左往右读和从右往左读数字是相同的,则称这个数为回文数,比如898,1221,15651都是回文数。求:既是回文数又是质数的五位十进制数有多少个,各是什么数。

3 请编一个程序,可以将英语规则名词由单数变成复数。已知规则如下:
(a) 以辅音字母y结尾,则将改成i,再加es;
(b) 以s、x、ch、sh结尾,则加es;
(c) 以元音字母o结尾,则加es;
(d) 其他情况直接加s.
要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。

1.
#include <stdio.h>
void main()
{
int a,b,c,i,j,k;
for(i=32;i<100;i++){
a=i*i;
for(j=1;j<10;j++){
b=1111*j;
c=a+b;
for(k=i;k<100;k++)
if(c==k*k)
printf("%d\n",a);
}
}
}

2.
#include <stdio.h>
#include <math.h>
void main()
{
int a,b,c,d,i,j,k=0;
for(i=10000;i<99999;i++){
a=i/10000;
b=i%10000/1000;
c=i%100/10;
d=i%10;
if(a==d&&b==c){
for(j=2;j<=sqrt(i);j++)
if(i%j==0)
break;
if(j>sqrt(i)){
if(k%10==0)
printf("\n");
printf("%d ",i);
k++;
}
}
}
printf("\ntotal=%d",k);
}

3.
#include <stdio.h>
#include <string.h>
void main()
{
char a[20];
int length,i;
printf(