一道c语言问题:输入比较2组数字

作者&投稿:玉纪 (若有异议请与网页底部的电邮联系)
C语言中输入数字的一个问题!!!!!!!求高手~

#include
int main()
{
int i,j,a,b;
scanf("%d
",i);
printf("please input number
");
scanf("%d",a);
b=a;
for(j=i;j>0;j--){
printf("please input number
");
scanf("%d",a);
if(a!=b){
printf("you input error,please input again
");
j++;
}
}

}

输出格式%ld
10的n次方
s=pow(10,n);
printf("%ld",s);

我对“随机不重复的输入”的理解,利用键盘手动输入一些数字。手动输入时随机性不用只考虑注意不重复即可。

下面是程序:

#include<stdio.h>

main()

{

 int i,j,a[6],b[5],c[6],count=0;

 printf("input 6 numbers to array a
");

 for(i=0;i<6;i++)

 {

  printf("%2d: ",i+1);

  scanf("%d",&a[i]);

  while(a[i]<1 || a[i]>47)

  {

   printf("input %2dth again
%2d: ",i+1,i);

   scanf("%d",&a[i]);

  }

 }

 printf("input 5 numbers to array b
");

 for(i=0;i<5;i++)

 {

  printf("%2d: ",i+1);

  scanf("%d",&b[i]);

  while(a[i]<1 || b[i]>47)

  {

   printf("input %2dth again
%2d: ",i+1,i);

   scanf("%d",&b[i]);

  }

 }

 for(i=0;i<6;i++)

  for(j=0;j<5;j++)

  {

   if(a[i]==b[j])

   {

    c[count]=a[i];

    count++;

   }

  }

 printf("the same between array a and array b are:
");

 for(i=0;i<count;i++)

  printf("%3d",c[i]);

 printf("
");

}

测试结果见附图。



你好!!!
代码如下:
#include "stdio.h"
#include "string.h"
int main()
{
int a[6],b[5],c[5];//分别存放6,5个数据的数组和用共同元素的数组
int i,j,n=0;
printf("请输入1-47中不重复的6个数据\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);

printf("请输入1-47中不重复的5个数据\n");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
for(i=0;i<6;i++)//依次比较数组a中的数据是不是和数组b相当
{
for(j=0;j<5;j++)
if(a[i]==b[j])
c[n++]=a[i];
}
if(n!=0)//判断是不是没有共同的元素
{
printf("两个数组共同的元素是: \n");
for(i=0;i<n;i++)//输出共同的元素
printf("%d ",c[i]);
printf("\n ");
}
else
printf("两个数组没有共同的元素!!! \n");

return 0;
}
测试:
请输入1-47中不重复的6个数据
1 2 3 4 5 6
请输入1-47中不重复的5个数据
3 8 9 15 6
两个数组共同的元素是:
3 6
Press any key to continue

请输入1-47中不重复的6个数据
1 2 3 4 5 6
请输入1-47中不重复的5个数据
7 8 9 10 11
两个数组没有共同的元素!!!
Press any key to continue

//你可以修改范围 1--47 缩小到10 ,可以方便验证
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
void main()
{
int int_array0[6]={0},int_array1[6]={0},i,j,key=0;
for(i=0;i<6;i++)
{
key=0;
while( key==0)
{

key=rand();
if(key<1||key>47) key=0;
for(j=0;j<6;j++)
{
if(key==int_array0[j]) key=0;
}
}

int_array0[i]=key;
}
for(i=0;i<5;i++)
{
key=0;
while(key==0)
{
key=rand();
if(key<1||key>47) key=0;

for(j=0;j<5;j++)
{
if(key== int_array1[j]) key=0;
}
}

int_array1[i]=key;
}
for(i=0;i<6;i++)
{
for(j=0;j<5;j++)
if(int_array0[i]==int_array1[j])
printf("相同元素有:%d\n",int_array0[i]);

}
}

rand()的种子是固定的,在之前调用srand( (unsigned)time( NULL ) )去当前系统的时间做种子,可以得到不一样的随机数;
rand()得到的是0~65535的随机数,所以要得到1~xx的随机数可以取模
既要得到1~47即rand()%47+1,因为抛弃小数点所以要加一
void main()
{
int int_array0[6]={0},int_array1[6]={0},i,j,key=0;
for(i=0;i<6;i++)
{
key=0;
while( key==0)
{

key=rand();
if(key<1||key>47) key=0;
for(j=0;j<6;j++)
{
if(key==int_array0[j]) key=0;
}
}

int_array0[i]=key;
}


C语言程序填空题,题目:输入一段数字后,将输入的数字颠倒输出。在线等...
void main() { int numb.,rdigit; scanf("%d",&numb);\/\/输入数字 while(numb!=0)\/\/此处如果是while(numb),系统会默认将numb与0比较,numb不为0则true,为0则false { rdigit = numb%10;\/\/得到numb的最后一位 printf("%d",rdigit);\/\/输出最后一位 numb\/=10;\/...

C语言问题!!输入一个整数,将它逆序输出。。例如reverse(123)的返回...
1、C 表示将输入的整数n传给reverse函数 2、C 表示定义一个long型变量res,并初始化 3、B 表示主函数(main)穿进来的值,如果为负数,则取反 4、B 倒置传入的参数number,res*10表示将原来res乘以10,再加上number%10;比喻说你传的是123,而res的初始值是0,123%10=3,那么res...

C语言输入问题
\/\/ 函数的使用有点小问题即 getchar 和getch 区别就是是否等待回车按键 include<stdio.h> include <conio.h> int main(){char sex,sports,diet;float h,f,m;printf("please enter your father's height and your mother'height:\\n");scanf("%f%f",&f,&m);printf("please enter your sex...

c语言 输入1 2 3 4 5 0回车输出结果为6566456我想问它一步步算的流程...
\/ 你输入1 2 3 4 5 0,输出结果为6566456 流程:1.输入1时,程序进入case1中printf打印s+5=6;因为这个case语句没有加break;所以继续往下执行case2中,又打印s+4=5,遇到break退出switch语句.2.输入2时,程序进入case2中打印s+4=6,遇到break退出switch语句.3.输入3时,程序进入case3中打印s+3=6;...

C语言:输入\\之类的话 for语句会一直往下循环输出,如何终止?
include int main(){ int a, b,i;srand((unsigned)time(NULL));\/\/使用时间作为参数来生成随机数 a = rand() % 100 + 1;printf("《C语言程序设计》翻转课堂—猜数游戏\\n欢迎来到猜数游戏\\n游戏说明:该程序将会生成1~100之间的整数,然后就由您负责猜数,同样也要输入1~100之间的整数...

有关C语言的scanf输入问题
假定 scanf("%f%e",&a,&y); 应当是 scanf("%f%e",&x,&y);--- 用的都是 scanf(), 可以看成:scanf("a=%d b=%d %f %e %c %c",&a,&b,&x,&y,&c1,&c2);简单地 用 1行 文字拍入:a=3 b=7 8.5 71.82e0 A a 输出:printf("a=%d b=%d %f %e %c %c...

C语言问题 如果输入复数为!+2iagain1下面的判断复数格式是否正确的while...
c语言经典100题:【程序1】题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数都是多少1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去掉不满足条件的排列.2.程序源代码:main(){inti,j,k;printf("\\n");for(i1;i2)\/*如果是闰年且月份大于2,总...

跪求大神,c语言问题。编程,输入1个正整数n(1<n<=10),再输入n个整数,按...
C语言实现,采用选择排序:include <stdio.h> #include <stdlib.h>#include <math.h>void Exchange(int *A,int *B) \/\/交换两个数的值{int temp;temp=*A;*A=*B;*B=temp;}void selectsort_dir(int *T,int left,int right)\/\/选择排序,[left,right]为排序范围{int i;int maxnum;do{...

c语言问题. 如果输入1\/2.那如何输出1\/2……
; \/\/中间的%c用来接收数值和数值之间的符号 printf("%d%c%d", num1,sign,num2); \/\/这样输出结果就是:数值+符号+数值 }那你这道题应该就是考的是格式化问题。如果是考的是输入0.5,那就没必要用1\/2作为输入了。直接用%f用来接收浮点型的数据。希望能帮助到你理解格式化输入输出。

C语言,输入五个国家的名字(英文),按字母顺序(即按ASCII码从小到大的...
5 2008-06-20 C语言问题:输入五个国家的名称按字母顺序排列输出。 28 2012-08-12 对输入的国家名字按字母顺序排序(C语言) 5 2010-08-09 输入五个名字按照字母首位顺序输出C语言 2008-05-28 C语言中输入一串字符,怎样让它按照字母从小到大的顺序排列? 1 更多...

港闸区13455174128: 一道c语言问题:输入比较2组数字 -
苦婷普必: 你好!!!代码如下:#include "stdio.h"#include "string.h"int main(){int a[6],b[5],c[5];//分别存放6,5个数据的数组和用共同元素的数组 int i,j,n=0; printf("请输入1-47中不重复的6个数据\n"); for(i=0;i<6;i++) scanf("%d",&a[i]); printf(...

港闸区13455174128: 用c语言如何编写一个比较两个数大小的程序 -
苦婷普必: 第一种方法: 1. 输入两个数值. 2. 比较大小. 3. 输出结果. 以整型为例,代码如下: #include int main() { int a,b; scanf("%d%d",&a,&b); if(a>b) printf("%d>%d\n",a,b); else if(a == b) printf("%d=%d\n",a,b); else printf("%d<%d\n",a,b)...

港闸区13455174128: c语言:如何输入一组数字放入数组中,并与另一个已初始化的数组进行比较? -
苦婷普必: 首先肯定要建立一个数组了int *p = (int *)malloc(5*sizeof(int));动态数组,因为不知道你是固定长度还是变长,如果固定长度直接 int a[n]就可以,第二,肯定是循环获取输入的数字,当然肯定你输入完后要输入一个结束符.没有碰到结束符,就会一直循环等待输入.当然如果长度>5,就需要在开辟空间了,具体看c的函数.两个数组比较就更简单了,具体看你想怎么比较了

港闸区13455174128: C语言 基础,比较两个数字大小 -
苦婷普必: main 函数最后面加上一个 return 语句.比如加个 return 0;或者 return 1;只要return一个数字就可以.

港闸区13455174128: C语言编写“比较两个数大小”的代码是什么 -
苦婷普必: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15# include <stdio.h>intmain() {floatm,n;//定义单精度变量,用于比较floata = 0,b = 0;//定义单精度浮点型变量,用来存放比较的两数 printf("请输入两个数,中间请用空格隔开:\n");scanf("%f %f",&a,&b); m = a > b ? a : b;//判断,并带入变量mn = a < b ? a : b; printf("两数中的最大者为:%f\n最小者为:%f",m,n); }

港闸区13455174128: 用C语言编写程序,输入两个正整数,比较之后,输出其中小的那个数字,写一个比较规范的代码,从include写 -
苦婷普必: #include<stdio.h>int main() { int a,b; scanf("%d,%d",&a,&b); if(a>b) printf("%d\n",b); else printf("%d\n",a); return 0; }

港闸区13455174128: 两个值比较大小,c语言运行时如何输入两个数字 -
苦婷普必: 1、思路:定义两个变量,键盘输入,if判断并输出. 2、参考代码: #include #include int main(){int a,b;scanf("%d%d",&a,&b);if(a>b) printf("最大数是:%d",a);elseprintf("最大数是:%d",b);return 0;}/*运行结果:5 6最大数是:6*/ 1)...

港闸区13455174128: 【C语言】输入数字并和文件中的数字进行比较,输出最接近输入值的数字和两数之差 -
苦婷普必: #include int main() { FILE *fp; double a[10],x=0, z=0; int i,n,j; //读文件到数组 fp=fopen("number.txt", "r" ); if ( fp== NULL ) {printf ("open file error\n");return -1;} for( i=0;i<10 && fscanf(fp, "%lf", &a[i] ) !=0 ;i++ ); fclose(fp); printf("input a ...

港闸区13455174128: C语言问题,为什么输入两个值,没办法比较 -
苦婷普必: 程序没有问题 估计是你操作的问题 一般多个输入的时候,新手很容易出现这个问题 你程序scanf是用逗号隔开的两个数据,那么你输入的时候要用逗号隔开输入 查错的方式是在scanf后,printf一下ab

港闸区13455174128: C语言编程 比较两个数大小
苦婷普必: 这问题有点空,如果说是两个数 int a,int b ; 比较大小可以用: a>b?a:b; 即若a>b就返回a,不是就返回b

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