C语言问题 哥哥姐姐帮帮忙

作者&投稿:始骅 (若有异议请与网页底部的电邮联系)
一个C语言编程的问题,请各位好心的哥哥姐姐帮帮忙!谢谢啦!~

两种方式,你看看,我就简写了啊,呵呵呵
main()
{int m,i,j,s;
for(m=6;m<10000;m++)
{s=1;
for(i=2;i<m;i++)
if(m%i==0) s=s+i;
if(m-s==0)
{printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0)
printf("%d ",j);printf("
");}
}
}

main()
{int m,i,j,s;
for(m=6;m<1000;m++)
{s=m-1;
for(i=2;i<m;i++)
if(m%i==0) s=s-i;
if(s==0)
{printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0)
printf("%d ",j);printf("
");}
}
}

1.AC
2.CD
3.ABC (结构体末尾落了一个分号)
4.BC
5.ACD

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int IsPalindrome(const char* beg, const char* end)
{
while(beg < end)
if(*beg++ != *--end)
return 0;
return 1;
}

inline void Swap(char* lhs, char* rhs)
{
char tmp = *lhs;
*lhs = *rhs;
*rhs = tmp;
}

void Reverse(char* beg, char* end)
{
while(beg < end)
Swap(beg++, --end);
}

int ToDecimal(int n, const char* num)
{
const char* p = num + strlen(num) - 1;
int dec = 0;
int radix = 1;

while(p >= num)
{
dec += (*p-- - '0') * radix;
radix *= n;
}
return dec;
}

void Revert(int dec, int n, char* buf)
{
char* p = buf;
int tmp;

if(n == 16)
sprintf(buf, "%x", dec);
else
{
while(dec > 0)
{
tmp = dec % n;
dec /= n;
*p++ = tmp + '0';
}
Reverse(buf, buf + strlen(buf));
}
}

int IsInputOK(int n, char* num)
{
if(n <= 2 || n > 10 && n != 16)
return 0;

if(!strlen(num))
return 0;

if(n != 16)
while(*num)
if(*num++ - '0' > n)
return 0;
else
for(; *num; ++num)
if(*num - '0' > n || toupper(*num) < 'A' || toupper(*num) > 'F')
return 0;
return 1;
}

int SearchAndStepNext(int n, char* num)
{
int step = 0;
int dec;

if(!IsInputOK(n, num))
{
puts("Invalid input!");
return 999;
}

dec = ToDecimal(n, num);

while(!IsPalindrome(num, num + strlen(num)) && step <= 30)
{
Reverse(num, num + strlen(num));
dec += ToDecimal(n, num);
Revert(dec, n, num);
step++;
}

return step;
}

#define MAXLEN 32

int main()
{
char num[MAXLEN] = {0};
int result[100] = {-1};
int n, step, i = 0, j;

while(scanf("%d%s", &n, num) && i < 100)
{
if(!n)
break;
if((step = SearchAndStepNext(n, num)) <= 30)
result[i++] = step;
else
++i;
memset(num, 0, MAXLEN);
}

for(j = i, i = 0; i < j; ++i)
if(result[i] != -1)
printf("step = %d\n", result[i]);
else
puts("Impossible!");

return 0;
}


垣曲县13731616702: C语言编程的小小问题~!大哥哥大姐姐帮帮忙哦!都是用C语言编哦!
莫露银杏: 壹:输入两个数,输出两个数的最大公约数和最小公倍数. 程序如下: #include<stdio.h> void main() { int m,n,t,r,p; printf("输入两个数字:\n"); scanf("%d%d",&n,&m); if(m>n) { t=m; m=n; n=t; } p=n*m; r=n%m; while(r!=0) { m=r; n=m; r=n...

垣曲县13731616702: C语言题目不会,帮帮忙!
莫露银杏: 看小妹妹说的这么可怜.哥哥帮帮你吧.以后遇到问题可以发站内信给我.一定帮你解决! 1.main() { int a,b,c,t; scanf("%d %d %d",&a,&b,&c); if(a<b) {t=a;a=b;b=t;} if(a<c) {t=a;a=c;c=t;} if(b<c) {t=b;b=c;c=t;} printf("%d %d %d",a,b,c); } 2.#include ...

垣曲县13731616702: 急需几道C语言选择题答案~~请各位哥哥姐姐帮帮忙~~谢谢 20分 -
莫露银杏: a很明显是错的,因为pow(a,2)+pow(b,2)的返回值是double类型. bd都没错.

垣曲县13731616702: C语言补充程序问题
莫露银杏: 第一题的补充程序为else { printf("求和在的数列在2~%d之间!",MAXNUM); for(*pa=1;*pa<=n;*pa++) { total=total+*pa; } //在此补充程序 } 其次你第一题的第二问,因为程序调用错误,这是逻辑错误,编译器不能识别,所以最后无法调试,只能产生输入的结果. 第二题我不知道为什么调试不出来,但是算法是对的,你自己修改下,我把填充部分给你 for(q=0;q<n;q++) if(*q++<max) max=*q; else if (min>*p++) min=*q;

垣曲县13731616702: 帮忙解决几题C语言的问题 -
莫露银杏: ( 1 ) #include<stdio.h> #include<stdlib.h> void main() { int a,b,temp; printf("请输入要交换的两个数:\n"); scanf("%d %d",&a,&b); printf("您输入的两个数是:a=%d,b=%d\n",a,b); temp=a; a=b; b=temp; printf("交换后:a=%d,b=%d\n...

垣曲县13731616702: 求大哥大姐帮忙解决下链表问题C语言的.3.定义结点如下形式:struct menu{char name;int no;struct menu *next;};进行如下操作:(1) 建立一个长度为... -
莫露银杏:[答案] 楼主你好 具体代码如下:#include#include#define MAX 20 typedef struct menu{ char name[20]; int no; struct menu *next;}List; void Creat_List(List * &h){ List *p;//用于插入 List *r=h;//尾指针 开始指向头...

垣曲县13731616702: 关于C语言的问题,大佬帮帮忙 -
莫露银杏: C语言基础知识1.每个C程序有且只有一个主函数main(),且程序必须从main() 函数开始执行,并在main()函数中结束.2.在C语言中,用e来表示科学计数法时,规定在e的前面必 须有数字,后面必须为整数.3.用单引号括起来的一个字...

垣曲县13731616702: 求用c语言编一个实际问题 题目自选 求各位神哥哥 神姐姐帮帮忙 分都不是问题 -
莫露银杏: 学生成绩管理 :#include <stdio.h> #include <stdlib.h> #define STU_NUM 10 /*宏定义学生的数量*/ struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/ { char stu_id[20]; /*学生学号;*/ float score[3]; /*三门课成绩...

垣曲县13731616702: 怎么把两个不同功能的C语言程序合并成一个程序.哥哥姐姐们 帮帮忙 -
莫露银杏: 你可以做一个菜单,例如程序运行出现 请选择功能:1:???2:???然后通过输入选择进入相应的功能中

垣曲县13731616702: 哪位哥哥姐姐帮我做道C语言的题啊,测量木棍的长度假设有奇数根木棍,只有一根找不到和他一样长的另外一根 -
莫露银杏: #include /* { 2x+1 (1<=x<10) y= { 3x+2 (11<=20) { 4x+3...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网