急求:c语言编程题解答

2025-04-04 15:35:08
推荐回答(2个)
回答1:

1、
main()
{
long i;
for(i=1;i<=200000;i++)
if(i<10&&i*i%10==i)
printf("%d ",i);
if(i<100&&i>=10&&i*i%100==i)
printf("%d ",i);
if(i>=100&&i<1000&&i*i%1000==i)
printf("%d ",i);
if(i>=1000&&i<10000&&i*i%10000==i)
printf("%d ",i);
if(i>=10000&&i<100000&&i*i%100000==i)
printf("%d ",i);
if(i>=100000&&i<1000000&&i*i%1000000==i)
printf("%d ",i);

}
3、
main()
{
long i;
for(i=1000;i<=9999;i++)
if(i==(i%100+i/100)*(i%100+i/100))
printf("%d ",i);

}
4、#include
main()
{
int i, j, count;
puts("the result is:\n");
printf("time red ball white ball black ball\n");
count = 1;
for (i = 0; i <= 3; i++) /*红球数量范围0到3之间*/
for (j = 0; j <= 3; j++) /*白球的数量范围0到3之间*/
if ((8-i - j) <= 6) /*判断要取黑色球的数量是否在6个以内*/
printf("%3d%8d%9d%10d\n", count++, i, j, 8-i - j); /*输出各种颜色球的数量*/
return 0;
}
7、
#include
int palind(char str[],int k, int i)/*自定义函数检测是否为回文字符串*/
{
if(str[k]==str[i-k]&&k==0)/*递归结束条件*/
return 1;
else if(str[k]==str[i-k])/*判断相对应的两个字符是否相等*/
palind(str,k-1,i); /*递归调用*/
else
return 0;
}

main()
{
int i=0,n=0;/*i记录字符个数,n是函数返回值*/
char ch,str[20];
printf("\nplease input string:\n");
while ((ch=getchar())!='\n')
{
str[i]=ch;
i++;
}
if(i%2==0)/*当字符串中字符个数为偶数时*/
n=palind(str,(i/2),i-1);
else
n=palind(str,(i/2-1),i-1);/*当字符串中字符个数为奇数时*/
if(n==0)
printf("not palindrome");/*当n为0说明不是回文数,否则是回文数*/
else
printf("palindrome");
getch();
}

回答2:

悬赏200吧,估计这道题30分没有人给你满意的答案的。
我不忍心看贴不回。。。。。。