C语言求教输入两个正整数m和n(m≥100,n<1000),输出m和n之间的满足如下条件的三位正整数

作者&投稿:倚娴 (若有异议请与网页底部的电邮联系)
输入一个正整数n,再输入n个整数,输出最小值 c语言~

你题目有没有写全,如果按照你这个题目,没有规定输入整数的位数,考虑要输入任意位数的数字,那么数字就不能使用已有的整数类型来保存(比如int只有4个字节大小,超出就溢出了)。
我写的是任意长度的数字输入,比较取最小值。(你内存够就行)

#include #include #include #define ssAdd 10//内存每次扩充大小 默认10个字符//存储任意位数的整数,只接收数字输入,如夹杂非数字字符,将被过滤char *saveNum(char *str,char c);//参数1:存储位置的首地址;参数2:要存储的数字字符;//查找数字字符串数组中,最小的整数,返回最小整数所在的序列值int findMin(char *num[],int n);//参数1:数字字符串数组 参数2:数字字符串个数int maxSize;//当前最大存储空间大小(字符数 不算结束符号)int main(){ int n,i,minIndex; printf("请输入n的值:"); scanf("%d",&n); getchar(); char *num[n],c; for(i=0;i='0' && c<='9')//输入的是数字才存储,不是数字直接跳过 num[i]=saveNum(num[i],c); } } for(i=0;i<n;i++) { printf("%s
",num[i]); } minIndex=findMin(num,n); printf("最小值:%s",num[minIndex]); return 0;}int findMin(char *num[],int n){ int minlen,len,i,j,index; minlen=len=strlen(num[0]); index=0; for(i=1;i<n;i++) { len=strlen(num[i]); if(len<minlen)//先比较数字长度 { minlen=len; index=i; } else if(len==minlen)//长度相等 从最高位开始比较数值 { for(j=0;j<len;j++) { if((num[i][j]-'0')<(num[index][j]-'0')) { minlen=len; index=i; break; } } } } return index;}char *saveNum(char *str,char c){ int len; char *strSave=NULL; len=strlen(str); if(maxSize-len<=0)//存储空间不够,先扩充存储空间后再存储 { strSave=str; maxSize=maxSize+ssAdd; str=(char *)malloc(sizeof(char)*(maxSize+1));//扩展新空间 memset(str,0,maxSize+1); strcpy(str,strSave); free(strSave);//释放原空间 strSave=NULL; } str[len]=c;//存储输入值 return str;}

#include #include void main() { int i,j,k,t; int m,n; scanf("%d%d",&m,&n); if(m>n) { t=m; m=n; n=t; } for(t=m;t<=n;t++) { i=t/100;/*分解出百位*/ j=t/10%10;/*分解出十位*/ k=t%10;/*分解出个位*/ if(t==i*i*i+j*j*j+k*k*k) { printf("%d ",t); } } printf("
"); }

/*

m n = 100 1000

100 121 144 225 400 441 484 676 900

Press any key to continue

*/

#include <stdio.h>
#include <math.h>

int hasRepNum(int n) {
int a,b,c;
if(n < 100 || n > 1000) return 0;
a = n % 10;
n /= 10;
b = n % 10;
n /= 10;
c = n % 10;
if(a == b || b == c || c == a) return 1;
return 0;
}

int main() {
int i,m,n,t;
printf("m n = ");
scanf("%d%d",&m,&n);
for(i = m; i <= n; ++i) {
t = (int)sqrt(i);
if(t * t == i && hasRepNum(i))
printf("%d ",i);
}
printf("
");
return 0;
}


/*
Please input two numbers(m n):100 1000
100 121 144 225
400 441 484 676
900
*/
#include"stdio.h"
#include"math.h"
void IsNeedNumber(int m,int n)
{
int i,j=0;
for(i=m;i<n;i++)
{
if(((int)sqrt(i)*(int)sqrt(i))==i) /*判断是否是某个数的平方*/
{
if((i%10==i/10%10)||(i%10==i/100%10)||(i/10%10==i/100%10)) /*判断是否有两位相同*/
{
printf("%d ",i);
j++;
if(j%4==0)
printf("\n");
}
}
}
}
void main()
{
int m,n;
printf("Please input two numbers(m n):");
scanf("%d %d",&m,&n);
IsNeedNumber(m,n);
getch();
}


c语言求教 从输入的若干个大于零的正整数中选出最大值,用-1结束_百度...
include <stdio.h> void main(){ int X;int max = 0;do { printf("请输入一个大于零的正整数:");scanf("%d",&X);printf("\\n");if(X > max){ max = X;} }while(X != -1);if(max > 0 )printf("max = %d \\n",max);else printf("输入没正整数最大值");} ...

c语言求教,这是哪错了,输出不对,求修改!代码如下,题目如图
include<stdio.h>\/\/#include <stdlib.h>没用到的库 \/\/#include int main() { int a[20]; int k=1,n;printf("输入20个整数,空格隔开,回车结束:\\n"); for(k=1;k<=20;k++){ scanf("%d",&a[k]); } printf("\\n"); n=0;\/\/作为标志,出现了为1,没...

求教:c语言程序运行时,输入两个数相加后显示内存不能读写 怎么修改_百 ...
include <stdio.h> include <stdlib.h> typedef char DataType ;typedef struct LNode { int data;struct LNode next;}LNode,*LinkList;struct charNode { char data;struct charNode next;};LinkList pHand = NULL;\/\/整数链表头指针 struct charNode charHand = NULL;\/\/字符串链表头指针 voi...

c语言求教
include<stdio.h>int main(){ int num, sum; int flag; flag = 0; num = sum = 0; printf("Input a integer num.\\n"); scanf("%d", &num); if( num < 1000 && num > -1000 ) flag = 0; else if( num <-9999 || num > 9999) flag = 0...

c语言如何输入一个正整数N,再输入N个整数,按从小到大的顺序输出?_百度...
{ t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("排序后阵列为"); for(i=0;i<n;i++) printf("%d ",a[i]);} 从键盘输入一个整数N(N>=0),然后再输入N个整数, 按从小到大的顺序输出。 正在学C语言程式设计,求教 #include<stdio.h> int main(void) {...

...按从小到大的顺序输出。 正在学C语言编程,求教
include <stdio.h> int main(){ if 1\/\/键盘输入一个数组并排序 int N,i,j,k,s,tmp;printf("input a number:\\n");scanf("%d",&N);int a[N],min=a[0];printf("请输入一组数:\\n");for (i=0;i<N;i++)scanf("%d",&a[i]);for(j=0;j<N;j++){ for (k=0;k<N-1...

求教一道c语言编程题:输入三个整数,从大到小排序,并输出这三个数
if(*p[i]<,*p[0],*p[1],*p[2])C语言编程,顾名思义,就是用C语言来进行计算机编程工作。C语言是国际上广泛流行的,很有发展前途的计算机高级语言.它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件.C语言是一种引用广泛,并且实现灵活的一种计算机编程语言,用C语言编出来的程序...

求教新手做c语言程序。从键盘上输入两个实数,计算并显示这两个实数平方...
把#include "stdafx.h"去掉,在VC6.0中这个头文件是你新建MFC时才会帮你生成的,普通的C程序没有这个头文件的,肯定要报错。

C语言问题求教,有5个学生,每个学生有3门课的成绩,从键盘输入以下数据...
i < 5; i++)\/\/输入信息,建立链表{node = malloc(sizeof(student));node->next = NULL;printf("输入学号、姓名、语文、数学、英语成绩:\\n");scanf("%d %s %lf %lf %lf", &node->number, node->name, &node->chinese, &node->math, &node->english);if (head == NULL)head =...

求教编写一个C语言函数求出两个字符串包含的相同的单词
include <stdio.h>char *maxword(char*s, char*t){int wordlen=0,maxlen = 0;char *pt = t, *ps = s, *res = s;while (*s != '\\0'){while (*s == ' ')s++;ps = s;while (*s != ' '&&*s != '\\0')\/\/找到一个单词s++;wordlen = s - ps;\/\/获取单词长度...

泽州县13146573150: 设计一个C程序解决这个题:输入两个正整数m和n,求其最大公约数和最小公倍数.写出完整的程序 -
呈蚀欧斯:[答案] #include void main() { int a,b,m,n,p,t; printf("请按顺序输入a和b\n"); scanf("%d,%d",&a,&b); p=a*b; do {m=a%b;t=b;a=b;b=m; } while(m!=0); n=p/t; printf("a和b的最大公约数是%d\n最小公倍数是%d\n",t,n); }...

泽州县13146573150: C语言求教输入两个正整数m和n(m≥100,n<1000),输出m和n之间的满足如下条件的三位正整数 -
呈蚀欧斯: /* m n = 100 1000100 121 144 225 400 441 484 676 900 Press any key to continue*/123456789101112131415161718192021222324252627 #include <stdio.h>#include <math.h> inthasRepNum(intn) { inta,b,c; if(n < 100 || n > 1000) return0; a = n...

泽州县13146573150: c语言求输入两个正整数m和n,m,n都是小于等于6,输入m行n列数组,并输出每一行元素之和 -
呈蚀欧斯: #include<stdio.h> int main() { int m,n,i,j,x; int a[6][6]; printf("输入两个正整数m和n的值:"); scanf("%d%d",&m,&n); for(i=0;i<m;i++){ x=0; for(j=0;j<n;j++){//这里你写i了. scanf("%d",&a[i][j]);x=x+a[i][j];} printf("第%d行元素和为%d",i,x);} return 0; }

泽州县13146573150: C语言编程:输入两个正整数m和n,求其最大公约数和最小公倍数,急!急! -
呈蚀欧斯: #include int main() { int m, n; int m_cup, n_cup, res; /*被除数, 除数, 余数*/ printf("Enter two integer:\n"); scanf("%d %d", &m, &n); if (m > 0 && n >0) { m_cup = m; n_cup = n; res = m_cup % n_cup; while (res != 0) { m_cup = n_cup; n_cup = ...

泽州县13146573150: c语言:输入两个正整数m和n(m>=1,n<=1000) -
呈蚀欧斯: 展开全部#include "stdio.h" int is(int i) { int a,b,c,d; a=i%10; b=i/10%10; c=i/100%10; d=i/1000; if((a*a*a+b*b*b+c*c*c+d*d*d)==i) return 1; elsereturn 0; } main() { int i; for(i=1;i<=1000;i++) { if(is(i)) printf("%d ",i); } }

泽州县13146573150: 用C语言编写:输入两个正整数m和n,求其最大公约数和最小公倍数. -
呈蚀欧斯: #include main(){long int a,b,d; long int m,n,i,j; double c,h; c=1; scanf("%ld%ld",&m,&n); if(m>=n){ b=m;d=n;}else{b=n;d=m;} for(i=1;i if((m%i==0) && (n%i==0) && (m%n!=0) && (n%m!=0)){ c=c*i;}else{if(b%d==0){c=d;}}}h=(m*n/c); printf("%.0lf %.0lf",c,h);return 0; }

泽州县13146573150: C语言输入两个整数m和n,计算1/m!与1/n!之和,保留小数点后四位.样例输入1 3样例输出1.1667 -
呈蚀欧斯: #include int main() { int jiecheng(int data); int m,n; printf("输入两个整数m和n:"); float sum; scanf("%d%d",&m,&n); sum = 1.0/jiecheng(m) +1.0/jiecheng(n); printf("1/%d!

泽州县13146573150: C语言:输入两个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个 -
呈蚀欧斯: if(flag==1&&n!=1) 这里错了你少了=

泽州县13146573150: 输入两个正整数m和n(m -
呈蚀欧斯:[答案] 不好意思,这几天比较忙,现在才看到你的求助. 这个程序我建议你不要去用函数求,那样太麻烦了.楼上的这位写的一看就... #include #include int main(void) { int i,j,k=0,m,n; printf("please input two numbers:"); scanf("%d,%d",&m,&n); while(m>n ||...

泽州县13146573150: c语言输入两个正整数m和n,求出[m,n]区间的所有素数 -
呈蚀欧斯: for(j=2;j<=i;j++) { if(i%j==0) break; } if(j==i) { a[x]=i; x++; } 这段代码,你不感觉无论是哪一个数,都会被记录下来,最后输出吗?后面改成if(j!=i)//保证不是因为除以自身而跳出上面寻个循环的 { a[x]=i; x++; }

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